- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
已经浏览、搜索和希望但找不到直接的答案。
在 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/
我有一个简单的类: public class Stu { public string Name { get; set; } } 如果我这样做: var stu = new Stu(); Con
我发现了一个有趣的包并想在我的 typescript 应用程序中使用它:https://github.com/dsherret/ts-nameof 但是我无法导入nameof 函数。它不在 d.ts
我试图让检查 null 异常更容易,所以我创建了这个静态方法: /// /// Static method for throwing multiple argument null exception
我正在尝试获取通用接口(interface)上方法的名称。我希望它能工作,因为类型部分是一个有效的类型: //This does not compile nameof(IGenericInterfac
所以我想做的很简单。 我正在尝试对某些基本类型运行 nameof(),因为我需要这些常量来满足特定要求。 但是当我尝试为 nameof(bool) 这样做时,它说 nameof() 在当前上下文中不存
目前对于我的 combobox 绑定(bind),我这样写: comboBox1.DataSource = DataList .Select(x => new { Value = x,
使用 Entity Framework ,我有一个名为权限的实体,它有一组 bool s 指定可以做什么和不可以做什么。 有点像: public class Permissions { publ
我正在尝试获取通用接口(interface)上方法的名称。我希望它能工作,因为类型部分是一个有效的类型: //This does not compile nameof(IGenericInterfac
class Foo { public T Bar() { /* ... */ } } 我想将 Bar 的名字传递给 Type.GetMethod(string) .我可以这样做 someType
在 expressions 上使用 nameof 来提取属性名称是个好主意吗? //method with expression protected void RaisePropertyChanged
我正在试验 nameof 和泛型。我没有得到预期的结果。我不确定这是否是规范的一部分。 class MainClass { public static void Main (string[]
我正在使用 VS 2013 和 .Net Framework 4.6。我想使用新的 C# 6 功能(例如 nameof)。但我找不到它。 我应该使用 VS 2015 吗?还是更高的 .Net Fram
在 C# 6 中,您可以使用 nameof()运算符获取包含变量或类型名称的字符串。 这是在编译时评估还是在运行时通过某些 Roslyn API 评估? 最佳答案 是的。 nameof() 在编译时计
我在我的项目文件中使用 F# 4.7 和 preview。 我有这样的类型: type Record = { Name : string Description : string Fiel
nameof(order.User.Age)只返回 Age而不是 order.User.Age 以更受限制的方式进行操作的原因是什么? 如果我们只想要姓氏,我们可以做类似的事情 public stat
我有一个类的多个实例,我想在一个数组中跟踪这些实例,该数组包含我无法控制的此类类型。为此,我创建了一个 List然后我将其与 MyClass[] 中的每个值进行比较我无法控制。 然后,我使用 C#6.
如果我执行 nameof(instance.SomeProperty),它的计算结果为 "SomeProperty"。 有什么方法可以获得整个方法链 "instance.SomeProperty"?
我对 nameof() 运算符有点困惑。因此,例如我不能在另一个类的 nameof() 中使用类的私有(private)字段,但我可以使用 public 非 static 字段 using non s
我想使用下面的 C#6 代码 var joe = new Self(); Console.WriteLine(joe); ...并获得以下输出: joe 下面的尝试 class Self { pu
我现在正在用 C# 创建一个 ConfigurationSection。我决定通过使用 nameof(PropertyName) 而不是硬编码字符串来利用一些 C# 6 功能。 但是,我从 Resha
我是一名优秀的程序员,十分优秀!