COM-görünür hale getirmeye çalıştığım aşağıdaki arabirime sahibim. Tür kitaplığı oluşturmaya çalıştığımda, uygulama sınıfımın genel bir sınıftan türediği gerçeğini beğenmiyor..NET generic sınıfıyla COM arabirimi uygulamak mümkün mü?
COM uygulama sınıfı olarak genel bir sınıf kullanmak mümkün mü? (Ben olmayan bir jenerik sarmalayıcı yazmak ve COM o dışa biliyorum, ama bu doğrusu olmadan yapardım başka bir katman ekler.)
[ComVisible(true)]
public interface IMyClass
{
...
}
[ComVisible(true), ComDefaultInterface(typeof(IMyClass))]
[ClassInterface(ClassInterfaceType.None)]
public class MyClass : BaseClass<IMyClass>, IMyClass
{
...
}
Hata mesajı:
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.