É possível implementar uma interface COM com uma classe de genéricos .NET?
Eu tenho a seguinte interface que estou tentando tornar visível a COM. Quando tento gerar a biblioteca de tipos, ele não gosta do fato de que minha classe de implementação deriva de uma classe genérica.
É possível usar uma classe genérica como uma classe de implementação COM? (Eu sei que eu poderia escrever um wrapper não-genérico e exportar isso para COM, mas isso adiciona outra camada que eu prefiro fazer sem.)
[ComVisible(true)]
public interface IMyClass
{
...
}
[ComVisible(true), ComDefaultInterface(typeof(IMyClass))]
[ClassInterface(ClassInterfaceType.None)]
public class MyClass : BaseClass<IMyClass>, IMyClass
{
...
}
Mensagem de erro:
Warning: Type library exporter encountered a type that derives from a generic class and is not marked as [ClassInterface(ClassInterfaceType.None)]. Class interfaces cannot be exposed for such types. Consider marking the type with [ClassInterface(ClassInterfaceType.None)] and exposing an explicit interface as the default interface to COM using the ComDefaultInterface attribute.