在我继承的 C#
项目上清理了一些警告,我发现了这个代码片段:
private bool _WriteValue(object FieldValue,..,..)
...
if(MultipFactor!=1)
FieldValue=((double)FieldValue)*MultipFactor;
else
FieldValue=FieldValue;
我显然没有想太多就烧掉了 else
block ,只是想知道为什么以前的程序员离开了那部分。
- 是不是懒得删除它?
- 对于某些 future 的程序员来说,在特定更改的情况下节省一些输入是一种礼貌吗?
- 它是否隐藏着危险的东西?
在您看来,是否存在 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 ) );
}
}
(我的回答是在发帖者添加 FieldValue
实际上是方法参数的信息之前给出的,而不是我最初假设的属性)
关于c# - 是否存在 foo=foo 有意义的有效情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5179590/