Udostępnij za pośrednictwem


IDesignerFilter.PreFilterAttributes(IDictionary) Metoda

Definicja

Po zastąpieniu 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 dla klasy składnika. Klucze w słowniku atrybutów są TypeId wartościami atrybutów.

Uwagi

Ta metoda zapewnia sposób dodawania 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ść właściwości TypeTypeId . Można sprawdzić TypeId atrybut w słowniku pod kątem równoważności ze znanym TypeId atrybutem, aby go zidentyfikować, lub użyć System.Reflection do 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 wszystkie poprzednie atrybuty 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 IRootDesignerIDesigner, DesignerAttribute klasa zwraca klasę TypeId , która jednoznacznie identyfikuje zarówno atrybut, jak i typ projektanta podstawowego. Konstruktor DesignerAttribute pozwala określić typ projektanta podstawowego oprócz określonego typu i DesignerAttribute zwraca wartość TypeId , która to odzwierciedla. W związku z tym podczas dodawania nowego DesignerAttribute typu projektanta podstawowego tego samego typu co typ projektanta podstawowego istniejącego DesignerAttributeatrybut starego atrybutu zostanie zastąpiony nowym atrybutem.

Notatki dotyczące implementowania

Możesz bezpośrednio filtrować słownik dostępny za pomocą parametru attributes lub pozostawić go bez zmian. Jeśli zastąpisz tę metodę, wywołaj implementację podstawową po wykonaniu własnego filtrowania.

Dotyczy

Zobacz też