2011-11-17 49 views
1

當擴展方法中this參數爲null時,應該拋出什麼?當``this`參數在擴展方法中爲null時,應該拋出什麼?

如果我應該扔ArgumentNullException,參數的名字應該是什麼?

+0

可能重複(HTTP [從擴展方法ArgumentNullException或NullReferenceException異常?]://計算器。 com/questions/463302/argumentnullexception-or-nullreferenceexception-from-extension-method) –

回答

4

是的,拋出一個ArgumentNullException,並提供您的參數名稱真的是。

2

我認爲你可以考慮不做任何事情,因爲會發生什麼是NullReferenceException將在該參數的擴展主體中引起,這實際上正是語義在擴展方法的用法上出現的那樣。

+1

+1;不是一件壞事要考慮,但其他選擇總是會更清楚(見Fyodor的答案)。我認爲這取決於擴展方法的消費者是誰。如果該方法是面向公衆的API的一部分,我會明確拋出。 –

+0

好點;我同意。我以爲我實際上已經爲此添加了評論,但我猜不是!呵呵 –

1

最終擴展方法是那種只是看中了靜態方法,所以我會帶你會同樣的方法與他們的

相關問題