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 值。

注解

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

属性字典中的键是属性的类型 ID。 对象的类型 Attribute。 此方法在前面 PostFilterAttributes立即调用。

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

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

实施者说明

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

适用于

另请参阅