私はコントラクトをコーディングするのにかなり慣れていないので、ここでばかげたことをしただけかもしれません:)
エラーが発生しています
メソッド '##' のコントラクトの潜在的な副作用について評価された式ステートメントが検出されました。(式を Requires、Ensures、または Invariant 呼び出しに入れるつもりでしたか?)
以下の契約を結んでいます
Contract.Requires<ArgumentNullException>(obj != null);
Contract.Requires<ArgumentNullException>(obj.Id != null);
2 回目の契約で失敗していますobj.Id != null
(Id
はGuid
)
これで、メソッドで許可されていないことが可能にId
なりました。null
しかし、コード コントラクトでは上記のコンパイル エラーが発生します。メソッド自体は実際には何も返さないため、保証も必要ありません。
if
コントラクトを削除したので、標準チェックをコンパイルして配置できます。しかし、これを引き起こしているのは何ですか?