我有一个方法,它接受一个接口对象的参数
像这样
private void SomeMethod(InterfaceA IUA)
Run Code Online (Sandbox Code Playgroud)
在方法内部我有这样的声明
ClassD someVar = (ClassD)(((ClassC)((ClassB)IUA)).D);
Run Code Online (Sandbox Code Playgroud)
一切都很精致和花花公子.但是,在某些情况下,对象IUA可能是ClassZ的实例而不是ClassB.所以在这种情况下上面的行错误了.在执行上述语句之前,有没有办法找出对象真正属于哪个类?如果我事先知道那么我可以有一个If语句并执行以下操作
ClassZ someVar = (ClassD)(((ClassC)((ClassZ)IUA)).Z);
Run Code Online (Sandbox Code Playgroud)
我来自java背景...在java中我知道我们有getClass()...在.net中会有什么相同的东西?