首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

小弟我遇到一个接口居然可以被实例化,求解释

2013-04-07 
我遇到一个接口居然可以被实例化,求解释[解决办法]因为该COM接口被标记为[CoClass(typeof(XX))]。coclass就

我遇到一个接口居然可以被实例化,求解释
小弟我遇到一个接口居然可以被实例化,求解释
[解决办法]
因为该COM接口被标记为[CoClass(typeof(XX))]。
coclass就是实现COM接口的实体。你可以理解XX就是该实体,而C#允许该种写法(可能为了兼容老版本)。
[解决办法]
这是C#玩的魔术。事实上它会在幕后产生一个com存根类。
[解决办法]

引用:
因为该COM接口被标记为[CoClass(typeof(XX))]。
coclass就是实现COM接口的实体。你可以理解XX就是该实体,而C#允许该种写法(可能为了兼容老版本)。

作了个测试

    [CoClass(typeof(TestInterClass))]
    public interface TestInter
    { }
     public class TestInterClass
     {
         public TestInterClass()
         { }
     }

TestInter test = new TestInter(); //wrong

热点排行