1

まだコード コントラクトを学習しています。小さなテストを作成すると、チェッカーから次のメッセージが表示されます。 CodeContracts: このメソッドを呼び出すと、常にエラーが発生します。これが必要な場合は、Contract.Requires(false) を追加して文書化することを検討してください。

それが何を言おうとしているのか理解できません。この例に Contract.Requires(false) を追加して、警告が表示されないようにするにはどうすればよいですか?

これがコードです。これは、CC の学習のみを目的とした不自然な例であることに注意してください。

 void DoSomething(object test) {
        Contract.Requires(test != null);
        MessageBox.Show(test.ToString());
    }


    void InvokeDoSomething() {
        DoSomething(null);

    }
4

1 に答える 1

0

Code Contracts があなたのことを発見しました

  1. メソッドへのパラメーターが null にならないように要求する
  2. 文字通り null で呼び出す

CC は基本的に、コードは常に失敗することを示しています。契約は問題ないようですが、あなたの電話は悪いです。解決策はもちろん、Contract.Requires(false) を追加するのではなく、null でメソッドを呼び出さないことです。

于 2014-06-18T14:47:41.433 に答える