我想做这样的事情:
class Foo
{
bool Property
{
get;
set
{
notifySomethingOfTheChange();
// What should I put here to set the value?
}
}
}
我可以在那里设置值吗?或者我是否必须明确定义get
并向该类添加另一个字段?
答案 0 :(得分:11)
没有办法。
您可以同时使用setter和getter自动实现
bool Property { get; set; }
或手动实施
bool Property
{
get { return _prop; }
set { _prop = value; }
}
答案 1 :(得分:11)
您有一个默认属性,包含编译器生成的支持字段和getter和/或setter主体,或者自定义属性。
一旦定义了自己的setter,就没有编译器生成的后备字段。你必须自己制作一个,并定义吸气体。
答案 2 :(得分:5)
不是这种情况,自动属性不是最合适的,因此您需要使用正确实现的属性:
class Foo
{
private bool property;
public bool Property
{
get
{
return this.property;
}
set
{
notifySomethingOfTheChange();
this.property = value
}
}
}
答案 3 :(得分:-3)
在许多情况下,您可以使用“自动属性”功能 例如public int年龄{get;组; } = 43;
这是一个很好的参考书different-ylim-for-shared-axes-in-pandas-boxplot
Naji K。