Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The COM model does not support the concept of generic types. Consequently, generic types cannot be used directly for COM interop.
Non-Supported Actions
The following actions are not supported and will fail with an E_NOINTERFACE error:
Accessing generic interfaces from COM.
Accessing class interfaces for nongeneric classes that derive from generic classes.
Generating class interfaces for generic classes. For example, the _MyGenericType interface cannot be generated for the MyGenericType<T> class.
Supported Actions
You can access a generic class indirectly using a nongeneric base interface. For example, consider the following type:
[C#]
class MyClass <T> : IMyClass, IEnumerable<int>
{
…
}
COM clients can make calls to instances of this type using the IMyClass interface, but calls to either _MyClass, _MyClass <T> or IEnumerable<T> will fail.
See Also
Reference
Generics (C# Programming Guide)