所以 LINQPad 说它支持 C# 5.0 中的所有内容,但我无法让 CallerMemberName 工作。
void Main()
{
GetMethodName().Dump();
}
public string GetMethodName([CallerMemberName] string memberName = "")
{
return memberName;
}
错误:找不到类型或命名空间名称“CallerMemberName”(按 F4 添加 using 指令或程序集引用)
找不到类型或命名空间名称“CallerMemberNameAttribute”(您是否缺少 using 指令或程序集引用?)
我尝试using
为 CallerMemberName 所在的命名空间添加一行,但这当然不起作用,因为 LINQPad 假定您输入的代码位于某个秘密隐藏类中,而您不能将其放入using
类中。然后我尝试为 CallerMemberName 输入完整的命名空间:public string GetMethodName([System.Runtime.CompilerServices.CallerMemberName] string memberName = "")
但这仍然不起作用。
错误:命名空间“System.Runtime.CompilerServices”中不存在类型或命名空间名称“CallerMemberName”
命名空间“System.Runtime.CompilerServices”中不存在类型或命名空间名称“CallerMemberNameAttribute”