MonoCecil Type.IsCOMObject等效?

时间:2011-04-21 19:34:06

标签: c# reflection mono.cecil

我想创建一个采用TypeDefinition的方法,并告诉我它是否代表一个COM对象。 该方法也应该在.NET 4.0“嵌入式COM互操作类型”的情况下工作。

知道我该怎么做吗?

1 个答案:

答案 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类型导入的   库。