c# - 如果将其分配给接口(interface)类型,是否有可能获得实际的对象类型?

标签 c# interface

我有一个接口(interface)ITransaction,Class1、Class2都实现了这个接口(interface)。在运行时,我将 Class1 或 Class2 的对象分配给 ITransaction 的引用。

ITransaction itransaction = new Class1();

ITransaction itransaction = new Class2();

是否有可能知道分配给 itransaction 引用的实际类型,可以使用反射或其他方式?

最佳答案

您可以在接口(interface)实例上调用GetType() 来获取有效类型。

(请注意,这可能不会返回您期望的 COM 和 MarshalByRefObject 实例的远程接口(interface),但这是一个不同的主题。)

关于c# - 如果将其分配给接口(interface)类型,是否有可能获得实际的对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484015/

相关文章:

java - 关于Java方法和实现多个接口(interface)的参数

c# - 将上传的文件存储在数据库中或将其存储在文件系统中哪个好

c# - 如何在 asp.net 上显示 MessageBox?

java - Socket.bind 的首选网络接口(interface)

C#:为什么类变量调用实现的接口(interface)方法比接口(interface)变量更快?

c# - 如何在 C# 中使用 SerialPort 和 NetworkStream 之间的公共(public)接口(interface)?

oop - 何时实现接口(interface)以及何时扩展父类(super class)?

C# - 动态确定要使用哪个母版页的 If 语句 - MVC 2

javascript - 从 C# 代码获取 html 按钮/下拉文本

c# - A/B 测试又称为拆分测试