J'ai l'interface suivante que j'essaie de rendre COM-visible. Lorsque j'essaie de générer la bibliothèque de types, elle n'aime pas le fait que ma classe d'implémentation dérive d'une classe générique.Est-il possible d'implémenter une interface COM avec une classe de génériques .NET?
Est-il possible d'utiliser une classe générique en tant que classe d'implémentation COM? (je sais que je pourrais écrire un emballage non générique et d'exportation à COM, mais cela ajoute une autre couche que je préfère faire sans.)
[ComVisible(true)]
public interface IMyClass
{
...
}
[ComVisible(true), ComDefaultInterface(typeof(IMyClass))]
[ClassInterface(ClassInterfaceType.None)]
public class MyClass : BaseClass<IMyClass>, IMyClass
{
...
}
Message d'erreur:
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.