次の方法で共有


IDesignerFilter.PostFilterAttributes(IDictionary) メソッド

定義

派生クラスでオーバーライドされると、デザイナーは、 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 オブジェクト。 属性のディクショナリ内のキーは、属性の TypeId 値です。

注釈

このメソッドは、このインターフェイスを実装するデザイナーの関連コンポーネントが TypeDescriptorを介して公開する属性のディクショナリ内の項目を変更または削除する方法を提供します。

属性のディクショナリ内のキーは、属性の型 ID です。 オブジェクトは Attribute型です。 このメソッドは、 PreFilterAttributesの直後に呼び出されます。

属性の型 ID には、任意のオブジェクトを指定できます。 既定では、AttributeTypeId プロパティの値としてTypeを返します。 ディクショナリ内の属性の TypeId を、属性を識別するための既知の TypeId と等価かどうかを確認したり、 System.Reflection を使用して属性オブジェクト自体を識別したりすることができます。

既存の属性または継承された属性と同じ TypeId を持つ属性がコンポーネントに追加されると、新しい属性が古い属性に置き換えられます。 多くの属性では、同じ型の新しい属性によって、その型の以前の属性が置き換えられます。 ただし、一部の種類の属性は、属性を選択的に区別する TypeId を返します。 たとえば、 IRootDesignerIDesignerなど、型に対してさまざまな種類の同時にアクティブなデザイナーを提供するために、 DesignerAttribute クラスは属性と基本デザイナー型の両方を一意に識別する TypeId を返します。 DesignerAttribute コンストラクターを使用すると、特定の型に加えてデザイナーの基本デザイナーの型を指定でき、これを反映するTypeIdDesignerAttribute返されます。 そのため、既存のDesignerAttributeの基本デザイナー型と同じ型の基本デザイナー型を持つ新しいDesignerAttributeを追加すると、古い属性が新しい属性に置き換えられます。

注意 (実装者)

attributes パラメーターを使用してアクセスできるディクショナリを直接フィルター処理することも、そのままにすることもできます。 このメソッドをオーバーライドする場合は、独自のフィルター処理を実行した後、基本実装を呼び出します。

適用対象

こちらもご覧ください