我有一个目前是自动的属性。
public string MyProperty { get; set; }
但是,现在我需要它在每次更改时执行一些操作,因此我想向 setter 添加逻辑。所以我想做这样的事情:
public string MyProperty {
get;
set { PerformSomeAction(); }
}
但是,这不会建立...
MyProperty.get' must declare a body because it is not marked abstract, extern, or partial
我不能只让 setter/getter 返回
MyProperty
,因为它会导致无限循环。有没有办法做到这一点,还是我必须声明一个私有(private)变量来引用?我宁愿不使用
MyProperty
来遍历该类及其外部的代码 最佳答案
您需要使用带有后备字段的属性:
private string mMyProperty;
public string MyProperty
{
get { return mMyProperty; }
set
{
mMyProperty = value;
PerformSomeAction();
}
}
关于c# - 没有 body 的 setter/getter ,有的塞特,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37392253/