IDesignerFilter.PostFilterAttributes(IDictionary) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當在衍生類別中覆寫時,允許設計者更改或移除其 TypeDescriptor透過 .
public:
void PostFilterAttributes(System::Collections::IDictionary ^ attributes);
public void PostFilterAttributes(System.Collections.IDictionary attributes);
abstract member PostFilterAttributes : System.Collections.IDictionary -> unit
Public Sub PostFilterAttributes (attributes As IDictionary)
參數
- attributes
- IDictionary
備註
此方法提供一種方式,可以更改或移除設計器中相關元件 TypeDescriptor透過 .
屬性字典中的鍵是屬性的類型 ID。 這些物件的類型 Attribute為 。 此方法緊接著 PreFilterAttributes。
屬性的類型 ID 可以是任何物件。 預設情況下,會 Attribute 回傳 it Type 作為其 TypeId 屬性的值。 你可以在字典中檢查屬性的 , TypeId 以判斷與已知 TypeId 屬性的等價性,或用 System.Reflection 來識別該屬性物件本身。
當一個屬性 TypeId 與現有或繼承的屬性相同時,該新屬性會取代舊屬性。 對於許多屬性,一個相同的新屬性會替換該類型的任何先前屬性。 然而,某些類型的屬性會回傳 a TypeId ,選擇性地區分該屬性。 例如,為了提供不同類型的同時啟用設計器,例如 an IRootDesigner 和 , IDesigner類別會 DesignerAttribute 回傳 TypeId 一個,唯一識別屬性與基礎設計者類型。 DesignerAttribute建構子允許你指定該設計者的基礎設計型別,除了其特定型別外,並DesignerAttribute回傳反映此特性的 aTypeId。 因此,當你新增 DesignerAttribute 一個與現有 DesignerAttribute設計者類型相同類型的基礎設計者時,舊屬性會被新屬性取代。
給實施者的注意事項
你可以直接篩選透過 attributes 參數可存取的字典,或者保持不變。 如果你要覆寫這個方法,先在自己篩選後呼叫基礎實作。