英語で読む

次の方法で共有


IDesignerFilter.PostFilterAttributes(IDictionary) メソッド

定義

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

C#
public void PostFilterAttributes (System.Collections.IDictionary attributes);

パラメーター

attributes
IDictionary

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

注釈

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

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

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

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

注意 (実装者)

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

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください