無効な値がプロパティセッターに渡され、ArgumentException
(またはそれに由来する可能性のあるクラス)がスローされた場合、paramName
パラメータにはどの値を割り当てる必要がありますか?C#のプロパティ設定ツールでArgumentExceptionの 'paramName'パラメータに割り当てる値は?
value
と思われますので、実際の議論ですか?
代わりにプロパティの名前を渡すのが明確ではないでしょうか?
無効な値がプロパティセッターに渡され、ArgumentException
(またはそれに由来する可能性のあるクラス)がスローされた場合、paramName
パラメータにはどの値を割り当てる必要がありますか?C#のプロパティ設定ツールでArgumentExceptionの 'paramName'パラメータに割り当てる値は?
value
と思われますので、実際の議論ですか?
代わりにプロパティの名前を渡すのが明確ではないでしょうか?
ArgumentExceptionsには、無効なパラメータの名前が含まれています。プロパティーセッターの場合、実際のパラメーターの名前はvalue(ソースコードと生成コードの両方)です。この名前は一貫して使用されます。反射板と周りの広範な突っつい後
はい、プロパティの名前を渡す方がはっきりしています。
(書き込み可能なプロパティを持つCLRオブジェクトを見つけようとして)、引数名としての「価値」を使用して、私が最初に見つかった(FileStream.Position):
if (value < 0L)
{
throw new ArgumentOutOfRangeException("value",
Environment.GetResourceString("NeedNonNegNum"));
}
私は推測しますStackTraceが問題のプロパティを明確にするという前提があります。 –