如何从共享相同接口的类创建基类实例?以下是我正在尝试做的一个例子:
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或其他解决方案,但我有一种感觉,我会以错误的方式解决这个问题。
那么解决方案是什么? 感谢。
答案 0 :(得分:1)
这完全不可能。
除非其运行时类型实际上继承了该类,否则不能将对象强制转换为类。