私は、の私は、引数eを検証するために拡張メソッドC#の:拡張メソッドで "この" 引数を検証するためのベストプラクティス
public static T TakeRandom<T>(this IEnumerable<T> e)
{
...
を持っていると言うべきでみましょう:
A)の場合(E ==ヌル))(新しいとNullReferenceExceptionをスロー
B)の場合(E == nullの)新しい例外ArgumentNullException( "E")
Cを投げる)電子をチェックしませ
コンセンサスは何ですか?
私が最初に考えたのは、常に引数を検証することで、ArgumentNullExceptionがスローされました。それから、TakeRandom()はeのメソッドになるので、たぶんNullReferenceExceptionになるはずです。しかし、それがNullReferenceExceptionである場合、TakeRandom()内でeのメンバーを使用しようとすると、とにかくNullReferenceExceptionがスローされます。
おそらく、リフレクターを使ってピークに達し、フレームワークが何をしているのかを調べるべきでしょう。
私は今日、この質問を私の頭の中に入れた。愛を持っていなければなりませんStackOverflow.com - それはすべての答え(および質問、時には複数回)があります。 :) – orj