好的,所以我有一个顶级类,用于监视一堆不同的值,范围从值类型到引用类型。现在我的问题是为顶级类设置隐式转换而不是设置公共属性有什么区别。
一些代码来说明。
这个:
public static implicit operator int(TopLevel TP)
{
return TP.DataLevel1.DataLevel2.DataLeverl3.Data;
}
相比:
public int DataLevel3Value
{
get
{
return this.DataLevel1.DataLevel2.DataLeverl3.Data;
}
}
与属性版本相比,我不想做隐式版本有什么原因吗?下面的代码也有效吗?
(TP == 10) == (TP.DataLevel3Value == 10) == true;
我确实意识到隐式转换的可能性会稍微缺乏可读性,但是这是一个只有一个其他程序员的小项目。我们只是好奇是否存在严重的缺陷会抑制我们缺少的程序的功能。