派生クラスでオーバーライドされた場合、デザイナが TypeDescriptor を通じて公開する一連の属性の項目を変更または削除できるようにします。
Sub PostFilterAttributes( _
ByVal attributes As IDictionary _)
[C#]
void PostFilterAttributes(
IDictionaryattributes);
[C++]
void PostFilterAttributes(
IDictionary* attributes);
[JScript]
function PostFilterAttributes(
attributes : IDictionary);
パラメータ
解説
このメソッドは、このインターフェイスを実装しているデザイナの対応するコンポーネントが TypeDescriptor を通じて公開する、属性のディクショナリ内の項目を変更または削除する手段を提供します。
属性のディクショナリ内でのキーは、属性の型 ID です。このオブジェクトは Attribute 型です。このメソッドは、 PreFilterAttributes の直後に呼び出されます。
属性の型 ID には任意のオブジェクトを使用できます。既定では、 Attribute は、その TypeID プロパティの値として、その Type を返します。ディクショナリ内の属性の TypeID が属性に対する既知の TypeID と等しいかどうかをチェックすることで、その属性を識別できます。または、 System.Reflection を使用して、属性オブジェクト自体を識別できます。
既存または継承された属性と同じ TypeID を持つ属性がコンポーネントに追加されると、新しい属性が古い属性に置き換わります。多くの属性では、同じ型の新しい属性が、その型の以前の属性に置き換わります。ただし、属性の型によっては、属性を選択的に区別する TypeID を返すものもあります。たとえば、 IRootDesigner や IDesigner など、ある型に対して同時にアクティブになるデザイナの異なる型を提供するために、 DesignerAttribute クラスは、両方の属性と基本デザイナ型を一意に識別する TypeID を返します。 DesignerAttribute コンストラクタを使用すると、特定の型だけでなく、そのデザイナに対する基本デザイナ型を指定でき、 DesignerAttribute は、これを反映した TypeID を返します。したがって、既存の DesignerAttribute の基本デザイナ型と同じ型の基本デザイナ型を持つ新しい DesignerAttribute を追加すると、古い属性が新しい属性で置き換えられます。
実装時の注意: attributes パラメータを通じてアクセスできるディクショナリは、直接フィルタ処理するか、そのままにしておくことができます。このメソッドをオーバーライドする場合は、独自のフィルタ処理を実行した後で、基本の実装を呼び出します。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
IDesignerFilter インターフェイス | IDesignerFilter メンバ | System.ComponentModel.Design 名前空間 | FilterAttributes