Ist es möglich, eine COM-Schnittstelle mit einer .NET-Generika-Klasse zu implementieren?

Ich habe die folgende Schnittstelle, die ich versuche, COM-sichtbar zu machen. Wenn ich versuche, die Typbibliothek zu generieren, mag es nicht, dass meine Implementierungsklasse von einer generischen Klasse abgeleitet ist.

Ist es möglich, eine generische Klasse als COM-Implementierungsklasse zu verwenden? (Ich weiß, ich könnte einen nicht generischen Wrapper schreiben und diesen nach COM exportieren, aber dies fügt eine weitere Ebene hinzu, auf die ich lieber verzichten möchte.)

[ComVisible(true)]
public interface IMyClass
{
   ...
}

[ComVisible(true), ComDefaultInterface(typeof(IMyClass))]
[ClassInterface(ClassInterfaceType.None)]
public class MyClass : BaseClass<IMyClass>, IMyClass
{
   ...
} 

Fehlermeldung:

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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage