我想做这样的事情:
class Foo
{
bool Property
{
get;
set
{
notifySomethingOfTheChange();
// What should I put here to set the value?
}
}
}
有什么我可以放在那里设置值的吗?还是我必须明确定义get
并在类中添加另一个字段?
我想做这样的事情:
class Foo
{
bool Property
{
get;
set
{
notifySomethingOfTheChange();
// What should I put here to set the value?
}
}
}
有什么我可以放在那里设置值的吗?还是我必须明确定义get
并在类中添加另一个字段?
您要么有一个默认属性,带有编译器生成的支持字段和 getter 和/或 setter 主体,要么有一个自定义属性。
一旦定义了自己的 setter,就没有编译器生成的支持字段。您必须自己制作一个,并定义吸气剂体。
没有办法。
您可以同时自动实现 setter 和 getter
bool Property { get; set; }
或者手动实现
bool Property
{
get { return _prop; }
set { _prop = value; }
}
不,这是自动属性不是最合适的情况,因此您应该转到正确实现的属性:
class Foo
{
private bool property;
public bool Property
{
get
{
return this.property;
}
set
{
notifySomethingOfTheChange();
this.property = value
}
}
}
在许多情况下,您可以使用“自动属性”功能,例如 public int Age { get; 放; } = 43;
这是一个很好的参考http://www.informit.com/articles/article.aspx?p=2416187
纳吉·K。