我有以下界面,我正在尝试使COM可见.当我尝试生成类型库时,它不喜欢我的实现类派生自泛型类的事实.
是否可以将泛型类用作COM实现类?(我知道我可以编写一个非通用的包装器并将其导出到COM,但是这会添加另一个我宁愿不用的层.)
[ComVisible(true)] public interface IMyClass { ... } [ComVisible(true), ComDefaultInterface(typeof(IMyClass))] [ClassInterface(ClassInterfaceType.None)] public class MyClass : BaseClass, IMyClass { ... }
错误信息:
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.
Joseph Daigl.. 6
无法导出从泛型类型派生的泛型类型和类型.设置ComVisible(false)
您的MyClass
类型.您需要创建非泛型类实现或仅使用该接口.
无法导出从泛型类型派生的泛型类型和类型.设置ComVisible(false)
您的MyClass
类型.您需要创建非泛型类实现或仅使用该接口.