sys*_*out 4 c# legacy refactoring
在C#我继承的项目上清理了一些警告,我找到了这段代码:
private bool _WriteValue(object FieldValue,..,..)
...
if(MultipFactor!=1)
FieldValue=((double)FieldValue)*MultipFactor;
else
FieldValue=FieldValue;
Run Code Online (Sandbox Code Playgroud)
我显然else没有想太多就烧掉了块,只是想知道为什么以前的程序员已经离开了这一部分.
在您看来,是否有任何有效的情况foo=foo有意义?
有关该_WriteValue方法的更多详细信息:
该_WriteValue方法被包裹成不同的重载WriteValue其传递给方法object FieldValue的参数,以下类型的值:int,long,string和Datetime.
如果FieldValue是属性,set运算符可以触发一些代码,所以在这种情况下自我赋值是否有意义?!
一个例子是:
public string FieldValue
{
get
{
return _fieldValue;
}
set
{
_fieldValue = value;
Trace.WriteLine( string.Format("Received value '{0}'.", value ) );
}
}
Run Code Online (Sandbox Code Playgroud)
(我的回答是在海报添加FieldValue实际上是方法参数的信息之前给出的,而不是我先假设的属性)