I found code something like the following in a 3rd party library we're using.
[CoClass(typeof(BlahClass))]
public interface Blah : IBlah
{
}
What is this doing exactly? The msdn documentation didn't illuminate the subject sufficiently for me to follow.
It declares that the interface
Blah
is intended to be implemented by a specific class. It means that you can conveniently saynew Blah
and the runtime will know what object to create - something that is not normally possible with an interface.If you look at the generated declaration for BlahClass, it will presumably have a
Guid
associated with it which can be used to create an instance of a COM object.