IDesignerFilter.PreFilterAttributes(IDictionary) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
При переопределении в производном классе позволяет конструктору добавлять элементы в набор атрибутов, предоставляемых через класс 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)
Параметры
- attributes
- IDictionary
Объекты Attribute для класса компонента. Ключи в словаре атрибутов — это TypeId значения атрибутов.
Комментарии
Этот метод позволяет добавлять элементы в словарь атрибутов, которые связанный компонент конструктора реализует этот интерфейс через TypeDescriptor.
Ключи в словаре атрибутов — это идентификаторы типов атрибутов. Объекты имеют тип Attribute. Этот метод вызывается непосредственно перед PostFilterAttributes.
Идентификатор типа атрибута может быть любым объектом. По умолчанию Attribute возвращает значение Type свойства.TypeId Атрибут в словаре можно проверить TypeId на эквивалентность с известным TypeId атрибутом для его идентификации или использовать System.Reflection для идентификации самого объекта атрибута.
Если атрибут с TypeId существующим или унаследованным атрибутом добавляется в компонент, новый атрибут заменяет старый атрибут. Для многих атрибутов новый атрибут одного типа заменит любой предыдущий атрибут типа. Однако некоторые типы атрибутов возвращают значение TypeId , которое выборочно различает атрибут. Например, для предоставления различных типов одновременно активных конструкторов для типа, например IRootDesigner типа и класса IDesigner, DesignerAttribute класс возвращает TypeId уникальное определение атрибута и базового типа конструктора. Конструктор DesignerAttribute позволяет указать базовый тип конструктора в дополнение к конкретному типу конструктора и DesignerAttribute возвратить TypeId его отражение. Поэтому при добавлении нового DesignerAttribute с базовым типом конструктора того же типа, что и базовый тип конструктора существующего DesignerAttribute, старый атрибут заменяется новым атрибутом.
Примечания для тех, кто реализует этот метод
Вы можете напрямую отфильтровать словарь, доступный через attributes параметр, или оставить его без изменений. Если вы переопределяете этот метод, вызовите базовую реализацию после выполнения собственной фильтрации.