2012-10-22 100 views
1

我有一个属性的设置有点像这样:这是一个有效的设置属性块吗?

set 
{ 
string whatever = regex.replace(); 

_fieldStub = whatever; 

} 

正如你所看到的,是没有用的价值关键字。这仍然是一个完全有效的设置块吗?

感谢

+1

你能不只是编译和测试,也,你为什么会想去做? – Matthew

回答

5

这仍然是一个完全有效的组块?

是的,它在技术上是一个有效的属性设置器。没有什么它需要您使用传入的值。

但是,此属性将可能是极不寻常的,并违反所有的预期行为。因此,我会建议将其作为一种方法。

0

它编译?
如果有 - 它是有效的
如果没有 - 它是无效的。
验证代码最后一个词属于编译器。

0

它对编译器有效,但它在.Net语言范围中没有意义。它就像一个方法,而不是净财产

public string MyProperty 
{ 
    set 
    { 
    string whatever = regex.replace(); 

    _fieldStub = whatever; 

    } 
} 

这会不会对自己在我的财产有任何影响

myClass.MyProperty = "Hello"; //has no effect and makes no sense