私は.NETのコード契約を巡って頭を抱えようとしています。コードコントラクトを使用する場合、どのようにアサーションを記録して問題のメソッドを失敗させるかたとえば、次のコードをご覧ください。.NETコード契約にログを統合するにはどうすればいいですか
Public IsMatch(string x, string, y)
{
Contract.Assert(!string.IsNullOrWhiteSpace(x));
Contract.Assert(!String.IsNullOrWhitespace(y));
return x == y;
}
たとえば、x = string.Empty
とします。これにより、メソッドが失敗します。 assertが上記のメソッドを失敗させる原因をログに記録するにはどうすればいいですか?私は大規模なアプリでこのような多くの主張を持つことができますし、どちらがトラブルメーカーであるか知ることはうれしいでしょう。基本的には2番目のパラメータとしてメッセージを指定することができますhttp://msdn.microsoft.com/en-us/library/system.diagnostics.contracts.contract.aspx
:で
ありがとうございます。これはPolityのコメントをさらに詳しく説明するのに役立ちます。 – Phil