Suppose you have a COM interface ICOMInterface
that is implemented by coclasses Coclass1
and Coclass2
. Neither of these coclasses have interfaces of their own (for simplicity's sake and to illustrate my issue).
In C#, you can create an instance of a COM interface from a coclass like so:
ICOMInterface myComInterface = new Coclass1();
Now, how can you determine whether myComInterface
was instantiated by Coclass1
or Coclass2
?
Using the "is" statement like follows always returns true, and as such is useless for this purpose.
Debug.WriteLine(myComInterface is Coclass1) // writes "True"
Debug.WriteLine(myComInterface is Coclass2) // writes "True"
This would work if I was testing interfaces, not coclasses, but these coclasses do not have interfaces other than the one they both implement, ICOMInterface
.
I am hoping that there is a simple answer to this rather generic scenario that I am overlooking, otherwise I can post more specific details if required.
Thanks for your help!