IDesignerFilter.PreFilterAttributes(IDictionary) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当在派生类中被重写时,允许设计器将项添加到它通过 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
注解
此方法提供了一种将项添加到实现此接口的设计器的关联组件通过 TypeDescriptor公开的属性字典的方法。
属性字典中的键是属性的类型 ID。 对象的类型 Attribute为 。 此方法紧接在 之前 PostFilterAttributes调用。
属性的类型 ID 可以是任何对象。 默认情况下, Attribute 返回 作为 Type 其 TypeId 属性的值。 可以在字典中检查TypeId属性的 ,以便与特性的已知TypeId等效性来标识该属性,或使用 System.Reflection 标识属性对象本身。
将具有与现有或继承属性相同的 TypeId 特性添加到组件时,新属性将替换旧属性。 对于许多属性,同一类型的新属性将替换该类型之前的任何属性。 但是,某些类型的属性返回有 TypeId 选择地区分属性的 。 例如,为了为类型(如 和 IDesigner)IRootDesigner提供不同类型的同时活动的设计器,DesignerAttribute类将返回一个 ,它唯一TypeId标识属性和基本设计器类型。 构造 DesignerAttribute 函数允许你指定设计器的基本设计器类型以及其特定类型,并 DesignerAttribute 返回 TypeId 反映此情况的 。 因此, DesignerAttribute 使用与现有 DesignerAttribute的基本设计器类型相同的基本设计器类型添加新的 时,旧属性将替换为新属性。
实施者说明
可以直接筛选可通过 参数访问的 attributes
字典,也可以保持不变。 如果要重写此方法,请在执行自己的筛选后调用基实现。