gpt4 book ai didi

c# - 从内部访问器反射(reflect)属性名称?

转载 作者:行者123 更新时间:2023-11-30 14:31:23 27 4
gpt4 key购买 nike

我可以使用反射从属性的访问器中获取属性的名称吗?

任务:=

public string FindMyName
{
get
{
string thisPropertyName = ??
}
}

最佳答案

简单地说:不要。你可以让编译器告诉你:

public static string WhoAmI([CallerMemberName] string caller=null)
{
return caller;
}
...
public string FindMyName
{
get
{
string thisPropertyName = WhoAmI();
//...
}
}

这对于 OnPropertyChanged 之类的事情非常有用:

protected virtual void OnPropertyChanged([CallerMemberName] string caller = null)
{
var handler = PropertyChanged;
if(handler != null) handler(this, new PropertyChangedEventArgs(caller));
}
...
public int Foo {
get { return foo; }
set { this.foo = value; OnPropertyChanged(); }
}
public string Bar {
get { return bar; }
set { this.bar = value; OnPropertyChanged(); }
}

关于c# - 从内部访问器反射(reflect)属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20286882/

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