Я хотел бы создать метод, который принимает TypeDefinition и сообщает мне, представляет ли он COM-объект.Метод также должен работать в случае .NET 4.0 «Типы встроенного взаимодействия COM».
Есть идеи, как мне это сделать?
Может быть что-то вроде этого:
public static bool IsCOMObject(TypeDefinition type) { if (type == null) throw new ArgumentNullException("type"); return (type.Attributes & TypeAttributes.Import) == TypeAttributes.Import; }
Из официального источника здесь: Common Language Infrastructure (CLI).Раздел II: Определение и семантика метаданных .
10.1 Тип заголовка (ClassHeader): Специфичная для реализации (Microsoft) Приведенная выше грамматика также включаетClassAttr :: = import, чтобы указать, что тип импортируется из библиотеки типов COM.
10.1 Тип заголовка (ClassHeader):
Специфичная для реализации (Microsoft)
Приведенная выше грамматика также включаетClassAttr :: = import, чтобы указать, что тип импортируется из библиотеки типов COM.