鉴于这种情况
interface A {}
class B : A {}
A b = new B();
如何检查对象b是否从界面A创建?
答案 0 :(得分:10)
答案 1 :(得分:5)
你可以这样测试:
var b = new B();
var asInterface = x as A;
if (asInterface == null)
{
//not of the interface A!
}
答案 2 :(得分:3)
答案 3 :(得分:0)
我们发现使用以下内容很实际:
IMyInterface = instance as IMyInterface;
if (intance != null)
{
//do stuff
}
'as'比'is'更快,也节省了许多演员阵容 - 如果你的实例是IMyInterface,你就不需要演员了。