好吧,所以我有一個頂級類用於監視一組不同的值,從值類型到引用類型。現在我的問題是設置頂級類的隱式轉換而不是設置公共屬性的區別。自定義隱式鑄造與公共屬性
一些代碼來說明。
此:
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;
我的確意識到了隱式轉換可能導致一個小缺乏可讀性然而,這是一個小項目,只和其他程序員。我們只是很好奇,如果有嚴重的缺陷,會抑制我們失蹤的程序的功能。
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-05-12 21:15:39
對不起,甚至沒有意識到 – Nomad101 2013-05-12 21:16:21
該代碼是一個有效的布爾表達式,應該評估爲「真」。最後的'== true'雖然是多餘的。 – Blorgbeard 2013-05-12 21:16:35