c# - 如何找到创建对象的程序集?

标签 c# reflection

我试图找到第一个创建对象的地方:(当它的构造函数被调用时)。 例如:假设我在 DLL“DLL_A”中有 A objA= new A();。 objA 对象已通过多次调用传递,直到我们到达处理此对象“objA”的 DLL_B。

在DLL_B中是否有任何反射方法/方式知道对象Obj_A是在DLL_A中创建的?

最佳答案

如果我没理解错的话,您需要A 中的一个属性,它返回调用A 的构造函数的类的名称/方法。正确吗?

然后你可以使用 Caller Information in C# : CallerFilePathAttributeCallerLineNumberAttributeCallerMemberNameAttribute 可以用作 A 构造函数中的可选参数。

然后可以将这些信息保存在构造函数中的字段/属性中,并在以后检索。

关于c# - 如何找到创建对象的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33493660/

相关文章:

c# - 我可以从匿名类中定义数组或列表吗?

php - 使用 Reflection 类将精确数量的参数传递给 PHP 类构造函数

c# - Xamarin 表单 HTTPClient 调用崩溃

C# 方法返回与 lambda 中的变量

c# - 无法使用 32feet.Net C# 库通过蓝牙将文件从 Windows 传输到 Linux

java - 在这种情况下,如何参数化我的 Class 参数?

java - Constructor.newInstance() 在 JUnit 中与实际运行时的行为不同

objective-c - 在 Objective-C 数组中获取特定类型的所有对象的优雅方法

java - 诡异的 Java 反射错误

c# - 在 c# mvc 中对单选按钮进行分组