[ClassInterface(ClassInterfaceType.None)]
Class Program()
{
}
我们什么时候需要将ClassInterface
属性应用到一个类,就像这里所做的那样?
ClassInterfaceAttribute
用于声明您的类对 COM 调用者的可见性,也就是说,如果您的类与 COM 世界中试图使用您的类的东西配合得很好。枚举中包含三个选项,ClassInterfaceType
您可以将它们指定为ClassInterfaceAttribute
. 这里它来自 MSDN,下面是三个类声明的示例,每个类声明都有不同的 InterfaceType 选择:
ClassInterfaceAttribute
在 MSDN 上
下面说明了 的使用ClassInterfaceAttribute
:
// This one will not be visible to COM clients.
[ClassInterface(ClassInterfaceType.None)]
public class MyClass1
{
}
// This one will provide an interface for COM clients,
// but only when/if one is requested of it.
[ClassInterface(ClassInterfaceType.AutoDispatch)]
public class MyClass2
{
}
// This one will, immediately upon instantiation,
// automatically include an interface for COM clients.
[ClassInterface(ClassInterfaceType.AutoDual)]
public class MyClass3
{
}