我想创建一个采用TypeDefinition的方法,并告诉我它是否代表一个COM对象。 该方法也应该在.NET 4.0“嵌入式COM互操作类型”的情况下工作。
知道我该怎么做吗?
答案 0 :(得分:3)
也许是这样的:
public static bool IsCOMObject(TypeDefinition type)
{
if (type == null)
throw new ArgumentNullException("type");
return (type.Attributes & TypeAttributes.Import) == TypeAttributes.Import;
}
来自官方参考:Common Language Infrastructure (CLI). Partition II: Metadata Definition and Semantics。
10.1类型标题(ClassHeader):
特定于实施(Microsoft)
上述语法还包括 ClassAttr :: = import表示 该类型是从COM类型导入的 库。