こんにちは 私はCodeContractsに関して少し問題があります。私はメソッドfoo(文字列s1、文字列s2)を持つクラスとしてクラスライブラリプロジェクトを持っています。 fooメソッドの中には、Contract.Requires(s1!= null)があります。 私のコードの意味を理解していれば(はい、CodeContractsをインストールして遊んでいます:)、契約では、ビルドプロセス中と実行時にArgumentException>をスローしてs1!= null式をチェックします。 私はビヘイビアをクラスのプロジェクトからfoo(null、 "test")を呼び出すとデザイナーが私に教えてくれますが、私はwinformアプリケーションプロジェクトから呼び出すと警告が出ませんエラーリストウィンドウに表示されます。それで、コード契約は彼らが住んでいるプロジェクトでのみ働くのであって、外ではないということですか? おかげCodeContracts issue
UPDATE
は、私が追加した前提条件が静的解析では動作しないことを言及するのを忘れてしまいました。しかし、実行時には適切なメッセージとともにArgumentExceptionをスローします。
絶対的な人生の節約は、私を狂ってしまいました! –
喜んで私は助けることができました:) – Davita
ありがとうございます!このような場合は、少なくとも警告や何かを追加する必要があります。この質問の約5年後にこの問題はちょうど私に*時間を要しました* ...これはインターネット上の唯一の場所で、この動作が文書化されています。 – Sabre