IDesignerFilter.PreFilterAttributes(IDictionary) Metoda

Definicja

W przypadku zastąpienia w klasie pochodnej umożliwia projektantowi dodawanie elementów do zestawu atrybutów, które uwidacznia za pośrednictwem klasy TypeDescriptor.

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

Parametry

attributes
IDictionary

Obiekty Attribute klasy składnika. Klucze w słowniku atrybutów są TypeId wartościami atrybutów.

Uwagi

Ta metoda umożliwia dodanie elementów do słownika atrybutów, które skojarzony składnik projektanta implementujący ten interfejs uwidacznia za pośrednictwem elementu TypeDescriptor.

Klucze w słowniku atrybutów są identyfikatorami typów atrybutów. Obiekty są typu Attribute. Ta metoda jest wywoływana bezpośrednio przed PostFilterAttributes.

Identyfikator typu atrybutu może być dowolnym obiektem. Domyślnie Attribute zwraca wartość Type swojej TypeId właściwości jako wartość. Atrybut można sprawdzić TypeId w słowniku pod kątem równoważności ze znanym TypeId atrybutem, aby go zidentyfikować, lub użyć System.Reflection w celu zidentyfikowania samego obiektu atrybutu.

Gdy atrybut, który ma taki sam TypeId jak istniejący lub dziedziczony atrybut jest dodawany do składnika, nowy atrybut zastępuje stary atrybut. W przypadku wielu atrybutów nowy atrybut tego samego typu zastąpi każdy poprzedni atrybut typu. Jednak niektóre typy atrybutów zwracają TypeId atrybut, który rozróżnia atrybut selektywnie. Na przykład w celu zapewnienia różnych typów jednocześnie aktywnych projektantów dla typu, takiego jak i IRootDesigner , klasa zwraca klasęTypeId, DesignerAttribute która jednoznacznie identyfikuje zarówno atrybut, jak i IDesignertyp projektanta podstawowego. Konstruktor DesignerAttribute umożliwia określenie typu projektanta podstawowego oprócz określonego typu i DesignerAttribute zwraca wartość odzwierciedlającą TypeId ten typ. W związku z tym po dodaniu nowego DesignerAttribute typu projektanta podstawowego tego samego typu co podstawowy typ projektanta istniejącego DesignerAttribute, stary atrybut zostanie zastąpiony nowym atrybutem.

Uwagi dotyczące implementowania

Słownik, który jest dostępny za pośrednictwem parametru attributes , można bezpośrednio filtrować lub pozostawić go bez zmian. Jeśli zastępujesz tę metodę, wywołaj implementację podstawową po wykonaniu własnego filtrowania.

Dotyczy

Zobacz też