这是一个有效的set属性块吗?

时间:2012-10-22 21:02:30

标签: c# properties

我在一个属性中有一个setter有点像这样:

set
{
string whatever = regex.replace();

_fieldStub = whatever;

}

如您所见,没有使用value关键字。这仍然是一个完全有效的设置块吗?

由于

3 个答案:

答案 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