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 через параметр , или оставить его без изменений. Если вы переопределяете этот метод, вызовите базовую реализацию после выполнения собственной фильтрации.

Применяется к

См. также раздел