C#CoClass属性有什么作用?

What does the C# CoClass attribute do?

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

1
2
3
4
[CoClass(typeof(BlahClass))]
public interface Blah : IBlah
{
}

这到底在做什么?MSDN文档并没有充分阐明我要遵循的主题。


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

如果您查看为blahclass生成的声明,它可能会有一个与之关联的Guid,可以用来创建COM对象的实例。