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