我有一个接口ITransaction和Class1,Class2都实现了这个接口。在运行时,我将Class1或Class2的对象分配给ITransaction的引用。
ITransaction itransaction = new Class1();
或
ITransaction itransaction = new Class2();
是否可以知道分配给itransaction引用的实际类型,可能使用反射或其他东西?
答案 0 :(得分:6)
您可以在接口实例上调用GetType()
以获取有效类型。
(请注意,这可能不会返回您对COM和MarshalByRefObject
实例的远程接口的期望,但这是一个不同的主题。)
答案 1 :(得分:3)
你可以写
if (itransaction is Class2)