我想创建一个采用 TypeDefinition 并告诉我它是否代表 COM 对象的方法。该方法也应该适用于 .NET 4.0“嵌入式 COM 互操作类型”的情况。
知道我该怎么做吗?
我想创建一个采用 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;
}
从官方参考这里:公共语言基础设施(CLI)。第二部分:元数据定义和语义。
10.1 类型头(ClassHeader):
特定于实施(微软)
上面的语法还包括 ClassAttr ::= import 来表示该类型是从 COM 类型库中导入的。