gpt4 book ai didi

c# - C#类是否知道实例化了哪个文件?

转载 作者:太空宇宙 更新时间:2023-11-03 18:02:30 25 4
gpt4 key购买 nike

是否可以告诉哪个文件在C#中实例化了一个类?

例如,如果我有Page1.cs和Page2.cs,myclass.cs中的构造函数可以知道哪个页面从中创建了对象吗?

最佳答案

您可以通过“ Caller Information”属性来执行此操作。本质上,您是在类的构造函数上创建一些额外的可选参数,并向它们应用一些特殊属性,然后编译器会自动为您填充详细信息。例如:

using System.Runtime.CompilerServices;

public MyClass
{
public MyClass(
[CallerMemberName] string memberName = "",
[CallerFilePath] string sourceFilePath = "",
[CallerLineNumber] int sourceLineNumber = 0)
{
...
}
}


您只需要将其称为:

var instance = new MyClass();


编译器将自动填写调用者的成员名称,文件路径和行号。

关于c# - C#类是否知道实例化了哪个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49964067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com