[英]what happens if I don't implement a partial method?
我使用SQLMetal生成了一些代碼,並使用了一段時間。 剛才,我瀏覽了生成的代碼,並在每個類中找到了一些我從未實現過的部分函數,這些函數也未由SQLMetal實現。 這些函數在代碼中被調用。 我想知道-當我調用這樣的函數時會發生什么-不存在嗎?
這些函數在代碼中被調用。 我想知道-當我調用這樣的函數時會發生什么-不存在嗎?
該調用已被編譯器完全刪除。 為了調用該方法而求值的所有表達式也將被刪除-因此,如果您具有以下條件:
SomePartialMethod(ComputeSomeValue());
而SomePartialMethod
不落實, ComputeSomeValue
不會被調用。
或如MSDN所說 :
如果未實現該方法,則編譯器將刪除方法簽名和對該方法的所有調用。 對該方法的調用(包括調用中對參數進行求值所產生的任何結果)在運行時均無效。 因此,即使未提供實現,部分類中的任何代碼也可以自由使用部分方法。 如果調用但未實現該方法,則不會導致編譯時或運行時錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.