IDesignerFilter.PostFilterAttributes(IDictionary) メソッド

定義

派生クラスでオーバーライドされた場合、デザイナーが TypeDescriptor を通じて公開する一連の属性の項目を変更または削除できるようにします。When overridden in a derived class, allows a designer to change or remove items from the set of attributes that it exposes through a TypeDescriptor.

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

パラメーター

attributes
IDictionary

コンポーネントのクラスの Attribute オブジェクト。The Attribute objects for the class of the component. 属性のディクショナリ内でのキーは、属性の TypeId 値です。The keys in the dictionary of attributes are the TypeId values of the attributes.

注釈

このメソッドは、このインターフェイスを実装しているデザイナーの関連コンポーネントがをTypeDescriptor通じて公開する属性のディクショナリ内の項目を変更または削除する手段を提供します。This method provides a way to change or remove items within the dictionary of attributes that the associated component of the designer implementing this interface exposes through a TypeDescriptor.

属性のディクショナリ内のキーは、属性の型 Id です。The keys in the dictionary of attributes are the type IDs of the attributes. オブジェクトの型Attributeはです。The objects are of type Attribute. このメソッドは、 PreFilterAttributesの直後に呼び出されます。This method is called immediately after PreFilterAttributes.

属性の型 ID には、任意のオブジェクトを指定できます。The type ID of an attribute can be any object. 既定ではAttribute 、はTypeそのTypeIdプロパティの値としてを返します。By default, Attribute returns its Type as the value of its TypeId property. Dictionary の属性のTypeIdうち、属性で認識TypeIdされているものと等しいかどうかを確認したり、 System.Reflectionを使用して属性オブジェクト自体を識別したりできます。You can check the TypeId of an attribute in the dictionary for equivalence with a known TypeId for an attribute to identify it, or use System.Reflection to identify the attribute object itself.

既存の属性または継承さTypeIdれた属性と同じ属性がコンポーネントに追加されると、新しい属性によって古い属性が置き換えられます。When an attribute that has the same TypeId as an existing or inherited attribute is added to a component, the new attribute replaces the old attribute. 多くの属性では、同じ型の新しい属性によって、型の以前の属性が置き換えられます。For many attributes, a new attribute of the same type will replace any previous attribute of the type. ただし、属性の種類によってTypeIdは、属性を選択的に区別するが返されます。However, some types of attributes return a TypeId that distinguishes the attribute selectively. たとえば、 IRootDesigner DesignerAttributeやなどの型に対して、さまざまな種類の同時アクティブ化デザイナーを提供するために、クラスは、 TypeId属性と基本デザイナーの両方を一意に識別するを返します。 IDesigner各種.For example, in order to provide different types of simultaneously active designers for a type, such as an IRootDesigner and an IDesigner, the DesignerAttribute class returns a TypeId that uniquely identifies both the attribute and the base designer type. コンストラクターを使用すると、特定の型に加えてデザイナーの基本デザイナー型を指定しDesignerAttribute 、これをTypeId反映するを返すことができます。 DesignerAttributeThe DesignerAttribute constructor allows you to specify the base designer type of the designer in addition to its specific type, and DesignerAttribute returns a TypeId that reflects this. したがって、既存DesignerAttribute DesignerAttributeのの基本デザイナー型と同じ型の基本デザイナー型を使用して新しいを追加すると、古い属性が新しい属性に置き換えられます。Therefore when you add a new DesignerAttribute with a base designer type of the same type as the base designer type of an existing DesignerAttribute, the old attribute is replaced with the new attribute.

注意 (実装者)

attributesパラメーターを使用してアクセスできるディクショナリを直接フィルター処理することも、変更せずに残すこともできます。You can directly filter the dictionary that is accessible through the attributes parameter, or you can leave it unchanged. このメソッドをオーバーライドする場合は、独自のフィルター処理を実行した後に基本実装を呼び出します。If you are overriding this method, call the base implementation after you perform your own filtering.

適用対象

こちらもご覧ください