FeatureConnectorAttribute 类

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

指示处理 FeatureProvider 所必需的 FeatureConnector<TFeatureProviderType> 的类型。

继承层次结构

System.Object
  System.Attribute
    Microsoft.Windows.Design.Features.FeatureConnectorAttribute

命名空间:  Microsoft.Windows.Design.Features
程序集:  Microsoft.Windows.Design.Extensibility(在 Microsoft.Windows.Design.Extensibility.dll 中)

语法

声明
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True)> _
Public NotInheritable Class FeatureConnectorAttribute _
    Inherits Attribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)]
public sealed class FeatureConnectorAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple = true)]
public ref class FeatureConnectorAttribute sealed : public Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true)>]
type FeatureConnectorAttribute =  
    class
        inherit Attribute
    end
public final class FeatureConnectorAttribute extends Attribute

FeatureConnectorAttribute 类型公开以下成员。

构造函数

  名称 说明
公共方法 FeatureConnectorAttribute 初始化 FeatureConnectorAttribute 类的新实例。

页首

属性

  名称 说明
公共属性 FeatureConnectorType 获取要实例化的 FeatureConnector<TFeatureProviderType> 类型。
公共属性 TypeId 获取用于确定唯一特性的对象。 (重写 Attribute.TypeId。)

页首

方法

  名称 说明
公共方法 Equals 返回一个值,该值指示此实例是否与指定的对象相等。 (重写 Attribute.Equals(Object)。)
受保护的方法 Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 GetHashCode 返回此实例的哈希代码。 (重写 Attribute.GetHashCode()。)
公共方法 GetType 获取当前实例的 Type。 (继承自 Object。)
公共方法 IsDefaultAttribute 当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。)
公共方法 Match 当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。)
受保护的方法 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 ToString 返回表示当前对象的字符串。 (继承自 Object。)

页首

显式接口实现

  名称 说明
显式接口实现私有方法 _Attribute.GetIDsOfNames 将一组名称映射为对应的一组调度标识符。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.GetTypeInfo 检索对象的类型信息,然后可以使用该信息获取接口的类型信息。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.GetTypeInfoCount 检索对象提供的类型信息接口的数量(0 或 1)。 (继承自 Attribute。)
显式接口实现私有方法 _Attribute.Invoke 提供对某一对象公开的属性和方法的访问。 (继承自 Attribute。)

页首

备注

将 FeatureConnectorAttribute 应用于自定义 FeatureProvider 类以指定一个 FeatureConnector<TFeatureProviderType>,它发布 FeatureProvider 所需的服务。

示例

以下代码示例演示如何使用 FeatureConnectorAttribute 将 FeatureConnector<TFeatureProviderType> 类与名为 DiagnosticsMenuProvider 的自定义功能提供程序联系起来。 有关完整的代码列表,请参见如何:创建自定义功能连接器

' The DiagnosticsMenuProvider class adds a context menu item
' that displays a dialog box listing the currently running and 
' pending feature connectors. 
<FeatureConnector(GetType(DiagnosticsFeatureConnector))>  _
Public Class DiagnosticsMenuProvider
    Inherits PrimarySelectionContextMenuProvider

    Public Sub New() 
        Dim action As New MenuAction("Feature Diagnostics...")

        AddHandler action.Execute, AddressOf action_Execute 

        Items.Add(action)    
    End Sub

    Sub action_Execute(ByVal sender As Object, ByVal e As MenuActionEventArgs) 
        Dim service As IDiagnosticsService = e.Context.Services.GetRequiredService(Of IDiagnosticsService)()

        service.ShowWindow()

    End Sub

End Class
// The DiagnosticsMenuProvider class adds a context menu item
// that displays a dialog box listing the currently running and 
// pending feature connectors. 
[FeatureConnector(typeof(DiagnosticsFeatureConnector))]
public class DiagnosticsMenuProvider : PrimarySelectionContextMenuProvider 
{
    public DiagnosticsMenuProvider() 
    {
        MenuAction action = new MenuAction("Feature Diagnostics...");

        action.Execute += new EventHandler<MenuActionEventArgs>(action_Execute); 

        Items.Add(action);
    }

    void action_Execute(object sender, MenuActionEventArgs e)
    {
        IDiagnosticsService service = 
            e.Context.Services.GetRequiredService<IDiagnosticsService>();

        service.ShowWindow();
    }
}

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

请参见

参考

Microsoft.Windows.Design.Features 命名空间

FeatureManager

FeatureProvider

FeatureConnector<TFeatureProviderType>

其他资源

功能提供程序和功能连接器

了解 WPF 设计器扩展性