从接口创建基类

时间:2015-02-10 22:05:52

标签: c# class interface

如何从共享相同接口的类创建基类实例?以下是我正在尝试做的一个例子:

interface IBASE { }

public class BASE : IBASE { }

class TestClass : IBASE { }

void main()
{
    TestClass tc = new TestClass();
    IBASE ib = (IBASE)tc;
    BASE b = (BASE)ib; // error
}

我想要做的是将接口放在不同的程序集中,用户只能访问该程序集和该接口,并使用该接口创建一个类。 我正在尝试使用它作为一种扩展方法,我试图推出自己的方法,而不是使用MEF或其他解决方案,但我有一种感觉,我会以错误的方式解决这个问题。

那么解决方案是什么? 感谢。

1 个答案:

答案 0 :(得分:1)

这完全不可能。

除非其运行时类型实际上继承了该类,否则不能将对象强制转换为类。