C#CoClass属性是做什么的?

我在我们使用的第三方库中发现了类似下面的代码。

[CoClass(typeof(BlahClass))] public interface Blah : IBlah { } 

这是干什么的? msdn的文档没有充分说明这个话题,以便我遵循。

它声明接口Blah旨在由特定的类实现。 这意味着您可以方便地说出new Blah ,运行时将知道要创build什么对象 – 通常不可能使用接口。

如果您查看BlahClass生成的声明,则大概会有一个与它关联的Guid ,它可以用来创build一个COM对象的实例。