我在一个属性中有一个setter有点像这样:
set
{
string whatever = regex.replace();
_fieldStub = whatever;
}
如您所见,没有使用value关键字。这仍然是一个完全有效的设置块吗?
由于
答案 0 :(得分:5)
这仍然是一个完全有效的设置块吗?
是的,从技术上讲,它是一个有效的属性设置器。 要求使用传入的值没有任何内容。
但是,此属性可能非常不寻常,并且违反了所有预期的行为。因此,我建议改为使用这种方法。
答案 1 :(得分:0)
答案 2 :(得分:0)
它对编译器有效,但它在.Net语言范围内没有意义。它的行为类似于方法,而不是.Net属性
public string MyProperty
{
set
{
string whatever = regex.replace();
_fieldStub = whatever;
}
}
这对我的财产没有任何影响
myClass.MyProperty = "Hello"; //has no effect and makes no sense