gpt4 book ai didi

c# - 使用 nameof 获取当前方法的名称

转载 作者:IT王子 更新时间:2023-10-29 04:10:25 25 4
gpt4 key购买 nike

已经浏览、搜索和希望但找不到直接的答案。

在 C# 6.0 中是否可以使用 nameof 获取当前方法名称而不指定方法名称?

我正在将我的测试结果添加到这样的字典中:

Results.Add(nameof(Process_AddingTwoConsents_ThreeExpectedRowsAreWrittenToStream), result);

如果我不必明确指定方法名称,我会更愿意,这样我就可以复制并粘贴该行,这是一个无效的示例:

Results.Add(nameof(this.GetExecutingMethod()), result);

如果可能我不想使用反射。

更新

这不是(如建议的那样)this question 的副本.我想问是否可以明确地使用 nameof 而无需(!)反射来获取当前方法名称。

最佳答案

您不能使用 nameof 来实现这一点,但是这个解决方法如何:

下面没有使用直接反射(就像nameof),也没有显式方法名。

Results.Add(GetCaller(), result);

public static string GetCaller([CallerMemberName] string caller = null)
{
return caller;
}

GetCaller 返回调用它的任何方法的名称。

关于c# - 使用 nameof 获取当前方法的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38098736/

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