2013-04-13 50 views
0

ArgumentNullException如果傳遞給它的參數爲null,則拋出異常。這發生在運行時。 Contract.Requires是做什麼的?在編譯時檢查或在運行時檢查?ArgumentNullException對象需求

+0

一個NullArgumentException不扔東西。 –

回答

1

Contract.Requires是一個運行時檢查(運行時檢查是在編譯時自動生成的 - 請參閱documentation的章節6.2和7)。還有一些可以執行的靜態檢查(請參閱documentation的第6.6章),但Requires是運行時檢查。

請注意,有一個通用的重載會讓你指定要拋出的異常(如ArgumentNullException)