我参与了一个涉及大量COM的专业项目,我们遇到了以下问题:
使用此代码:
[ComVisible(true)]
public interface IComFakeCall { }
[ComVisible(false)]
public class BaseClass<T> { }
[ComVisible(true)]
public class ComFakeCall : BaseClass<string>, IComFakeCall { }
从Excel VBA编辑器中看不到界面IComFakeCall
。
如果我删除了通用性,那么它是可见的,如:
[ComVisible(true)]
public interface IComFakeCall { }
[ComVisible(false)]
public class BaseClass { }
[ComVisible(true)]
public class ComFakeCall : BaseClass, IComFakeCall { }
为什么我的第一个例子的界面不可见?
COM对象是否存在已知问题以及泛型类的继承?