FeatureManager - класс
Обновлен: Ноябрь 2007
Управляет поставщиками функций и функциональными соединителями.
Пространство имен: Microsoft.Windows.Design.Features
Сборка: Microsoft.Windows.Design.Extensibility (в Microsoft.Windows.Design.Extensibility.dll)
Синтаксис
'Декларация
Public Class FeatureManager _
Implements IDisposable
'Применение
Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable
Заметки
Класс FeatureManager используется для создания поставщиков функций и опроса работающих и ожидающих функциональных соединителей.
Если необходимо создать экземпляр функционального соединителя, но он подписан либо на службы, либо на элементы контекста, которые еще не существуют, то тип соединителя помещается в список ожидания, а его подписки добавляются в контекст редактирования. Экземпляр функционального соединителя создается, когда нужные службы и элементы становятся доступны.
Когда к модели редактирования добавляется объект, модель редактирования должна вызвать метод диспетчера функций InitializeFeatures, который проверяет объект на наличие атрибутов функций. Он отслеживает по ним атрибуты FeatureConnector<TFeatureProviderType> и обеспечивает создание экземпляров всех уникальных соединителей.
Примеры
В следующем примере показано, как класс FeatureManager используется для обращения к работающим и ожидающим соединителям. Полный исходный код см. в разделе Практическое руководство. Создание пользовательского соединительного элемент.
Public Sub Initialize(ByVal manager As FeatureManager)
featManager = manager
Bind()
End Sub
...
' Binds the activatedFeatures and pendingFeatures controls
' the FeatureManager's RunningConnectors and PendingConnectors\
' properties.
Private Sub Bind()
activatedFeatures.Items.Clear()
pendingFeatures.Items.Clear()
Dim info As FeatureConnectorInformation
For Each info In featManager.RunningConnectors
activatedFeatures.Items.Add(info)
Next info
For Each info In featManager.PendingConnectors
pendingFeatures.Items.Add(info)
Next info
End Sub
public void Initialize(FeatureManager manager)
{
featManager = manager;
Bind();
}
...
// Binds the activatedFeatures and pendingFeatures controls
// the FeatureManager's RunningConnectors and PendingConnectors\
// properties.
private void Bind()
{
activatedFeatures.Items.Clear();
pendingFeatures.Items.Clear();
foreach (FeatureConnectorInformation info in
featManager.RunningConnectors)
{
activatedFeatures.Items.Add(info);
}
foreach (FeatureConnectorInformation info in
featManager.PendingConnectors)
{
pendingFeatures.Items.Add(info);
}
}
Иерархия наследования
System.Object
Microsoft.Windows.Design.Features.FeatureManager
Потокобезопасность
Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.
См. также
Ссылки
Microsoft.Windows.Design.Features - пространство имен
FeatureConnector<TFeatureProviderType>
Другие ресурсы
Практическое руководство. Создание пользовательского соединительного элемент