C# 不带System.Reflection的属性名
是否可以从dotnet中的代码中获取属性名而不使用反射C# 不带System.Reflection的属性名,c#,.net,reflection,C#,.net,Reflection,是否可以从dotnet中的代码中获取属性名而不使用反射 int PropWithNiceName { get {Console.Writeline( ??? )} } 对,;您可以使用新的[CallerMemberName]属性: static string MemberName([CallerMemberName] string name = null) { return name; } int MyProperty { set { Console.Writ
int PropWithNiceName
{
get {Console.Writeline( ??? )}
}
对,;您可以使用新的
[CallerMemberName]
属性:
static string MemberName([CallerMemberName] string name = null) {
return name;
}
int MyProperty {
set {
Console.WriteLine(MemberName());
}
}
您想要哪个属性?是的,绝对:
Console.Writeline(“PropWithNiceName”)
将起作用:)如上所述-在get方法中,您将不可避免地知道属性的名称,那么为什么您必须有一种方法来获取它-只需硬编码即可。我想获取PropWithNiceName@Jacek-dasblinkenlight
然后回答您的问题。您知道属性本身的名称。不是吗?有趣的是,这样做会产生代码:Console.WriteLine(“MyProperty”);实际上是编译后生成的。。。