次の方法で共有


IDesignerFilter.PreFilterAttributes メソッド

派生クラスでオーバーライドされた場合、デザイナが TypeDescriptor を通じて公開する一連の属性に項目を追加できるようにします。

名前空間: System.ComponentModel.Design
アセンブリ: System (system.dll 内)

構文

'宣言
Sub PreFilterAttributes ( _
    attributes As IDictionary _
)
'使用
Dim instance As IDesignerFilter
Dim attributes As IDictionary

instance.PreFilterAttributes(attributes)
void PreFilterAttributes (
    IDictionary attributes
)
void PreFilterAttributes (
    IDictionary^ attributes
)
void PreFilterAttributes (
    IDictionary attributes
)
function PreFilterAttributes (
    attributes : IDictionary
)

パラメータ

  • attributes
    コンポーネントのクラスの Attribute オブジェクト。属性のディクショナリ内でのキーは、属性の TypeID 値です。

解説

このメソッドは、このインターフェイスを実装しているデザイナの対応するコンポーネントが TypeDescriptor を通じて公開する、属性のディクショナリに項目を追加する手段を提供します。

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

属性の型 ID には任意のオブジェクトを使用できます。既定では、Attribute は、その TypeID プロパティの値として、その Type を返します。ディクショナリ内の属性の TypeID が属性に対する既知の TypeID と等しいかどうかをチェックすることで、その属性を識別できます。または、System.Reflection を使用して、属性オブジェクト自体を識別できます。

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

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

プラットフォーム

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

参照

関連項目

IDesignerFilter インターフェイス
IDesignerFilter メンバ
System.ComponentModel.Design 名前空間
FilterAttributes