ClassInterfaceAttribute used to declare how visible your class is to COM users, i.e. if your class will play with something from the COM world, trying to use your class. There are three options that are contained in the ClassInterfaceType enumeration, which you can specify as the ClassInterfaceAttribute overload ClassInterfaceAttribute . Here it is from MSDN, and below is an example of three class declarations, each of which has a different interface choice:
ClassInterfaceAttribute on MSDN
ClassInterfaceType on MSDN
The following shows the use of ClassInterfaceAttribute :
source share