這可能是非常蹩腳的問題,但我沒有在C#規範中找到關於圓括號的引用。如果對這個問題的回答是顯而易見的,請將我指向spec或msdn。(MyType)SomeObj.Property1和(MyType)(SomeObj.Property1)在C#中的內部區別是什麼?
(MyType)SomeObj.Property1和(MyType)(SomeObj.Property1)在C#中的內部區別是什麼?在第一種情況下((x)SomeObj.Property1強制轉換)AFAIK - 它將作爲Property1的具體類型(MyType)的引用。在第二種情況下,這樣的引用將執行獲取器SomeObj.get_Property1。 它最終可能會導致微妙的錯誤,如果訪問器有任何副作用(和它經常 - 有一個)
任何人都可以指向我確切的文檔,這種行爲指定?
更新:感謝您指點。我對這個愚蠢的問題深表歉意 - 在發佈這個問題之後,我發現了一個錯誤的例子,我發現第二個案例行爲不是基於我試圖編譯的代碼,而是以前編譯完全不同的代碼。所以我的問題最初是基於我自己的失明...