我在一个属性中有一个设置器,有点像这样:
set
{
string whatever = regex.replace();
_fieldStub = whatever;
}
如您所见,没有使用 value 关键字。这仍然是一个完全有效的设置块吗?
谢谢
我在一个属性中有一个设置器,有点像这样:
set
{
string whatever = regex.replace();
_fieldStub = whatever;
}
如您所见,没有使用 value 关键字。这仍然是一个完全有效的设置块吗?
谢谢
这仍然是一个完全有效的设置块吗?
是的,从技术上讲,它是一个有效的属性设置器。没有什么要求您使用传入的值。
但是,此属性可能非常不寻常,并违反所有预期行为。因此,我建议改为使用此方法。
它编译?
如果是 - 它是有效的
如果不是 - 它是无效的。
在验证代码时,最后一个词属于编译器。
它对编译器有效,但在 .Net 语言范围内没有意义。它的行为类似于方法,而不是 .Net 属性
public string MyProperty
{
set
{
string whatever = regex.replace();
_fieldStub = whatever;
}
}
这不会对我的财产产生任何影响
myClass.MyProperty = "Hello"; //has no effect and makes no sense