0

渡された引数が null の場合、ArgumentNullException は例外をスローしますこれは実行時に発生します。Contract.Requiresは何をしますか? コンパイル時のチェックですか、それとも実行時にチェックされますか?

4

1 に答える 1

1

Contract.Requiresランタイム チェックです (ランタイム チェックはコンパイル時に自動的に生成されます。ドキュメントの 6.2 章と 7 章を​​参照してください)。実行できる特定の静的チェックもあります (ドキュメントの第 6.6 章を参照) が、これRequiresはランタイム チェックです。

スローする例外を指定できる一般的なオーバーロードがあることに注意してください (ArgumentNullException など)。

于 2013-04-14T22:30:00.340 に答える