IDesignerFilter.PreFilterAttributes(IDictionary) 方法

定义

当在派生类中被重写时,允许设计器将项添加到它通过 TypeDescriptor 公开的特性集中。

public:
 void PreFilterAttributes(System::Collections::IDictionary ^ attributes);
public void PreFilterAttributes (System.Collections.IDictionary attributes);
abstract member PreFilterAttributes : System.Collections.IDictionary -> unit
Public Sub PreFilterAttributes (attributes As IDictionary)

参数

attributes
IDictionary

组件的类的 Attribute 对象。 特性字典中的关键字是特性的 TypeId 值。

注解

此方法提供了一种将项添加到实现此接口的设计器的关联组件通过 TypeDescriptor公开的属性字典的方法。

属性字典中的键是属性的类型 ID。 对象的类型 Attribute为 。 此方法紧接在 之前 PostFilterAttributes调用。

属性的类型 ID 可以是任何对象。 默认情况下, Attribute 返回 作为 TypeTypeId 属性的值。 可以在字典中检查TypeId属性的 ,以便与特性的已知TypeId等效性来标识该属性,或使用 System.Reflection 标识属性对象本身。

将具有与现有或继承属性相同的 TypeId 特性添加到组件时,新属性将替换旧属性。 对于许多属性,同一类型的新属性将替换该类型之前的任何属性。 但是,某些类型的属性返回有 TypeId 选择地区分属性的 。 例如,为了为类型(如 和 IDesignerIRootDesigner提供不同类型的同时活动的设计器,DesignerAttribute类将返回一个 ,它唯一TypeId标识属性和基本设计器类型。 构造 DesignerAttribute 函数允许你指定设计器的基本设计器类型以及其特定类型,并 DesignerAttribute 返回 TypeId 反映此情况的 。 因此, DesignerAttribute 使用与现有 DesignerAttribute的基本设计器类型相同的基本设计器类型添加新的 时,旧属性将替换为新属性。

实施者说明

可以直接筛选可通过 参数访问的 attributes 字典,也可以保持不变。 如果要重写此方法,请在执行自己的筛选后调用基实现。

适用于

另请参阅