再写一个程序的时候
private void create() { Feature i = new Feature(); }//这里为止没报错
然后转到定义 ,惊讶的发现
[Guid("FCB01CB4-9F0B-11D0-BEC7-00805F7C4268")] [CoClass(typeof(FeatureClass_2))] public interface Feature : IRow //Featrue是接口????? { }
这是怎么回事??
c#语言规范 17.5 交互操作的属性 :仅适用于 C# 的 Microsoft .NET 实现。
17.5.1 与 COM 和 Win32 组件的交互操作:属性可在 System.Runtime.InteropServices 命名空间
那请问在这里能不能把它当做一个类来看待,或者说当做一个类来使用呢?
这里有一个标记
[CoClass(typeof(FeatureClass_2))]
通过这个标记,其实你在new Feature()时CLR是知道真正要new的是FeatureClass_2。
你可以看看一下链接了解一下COM调用的机制:
http://msdn.microsoft.com/en-us/library/aa645712(v=vs.71).aspx