code-contracts

    17

    3答えて

    Task<T>を返す非同期メソッドに事後条件を追加するための推奨方法は何ですか?私は、次の提案を読んでいる : http://social.msdn.microsoft.com/Forums/hu-HU/async/thread/52fc521c-473e-4bb2-a666-6c97a4dd3a39 をポストは、同期各方法を実施することを収縮し、次いで単純なラッパーとして非同期対応を実現示唆する

    1

    1答えて

    Contract.Resultよりも迷惑ですが、状況によってはその型を解決できません。以下のマニュアルの抜粋を参照してください。 メソッドの戻り値は、メソッドの戻り値は、Tは、メソッドの戻り型に置き換えられ発現Contract.Result<T>()を介して参照することができる事後条件内値。コンパイラが型を推論できないときは、明示的に与えなければなりません。 たとえば、C#コンパイラは引数を取らな

    2

    1答えて

    プロジェクトのプロパティの[Code Contracts]タブで[Contract Reference Assembly]を[Build]に設定すると、出力フォルダの "CodeContracts"サブフォルダに2つの追加ファイル( "MyAssembly"という名前のアセンブリ)が作成されます。 MyAssembly.Contracts.dll MyAssembly.Contracts.pdb

    6

    1答えて

    Marshal.DestroyStructureは.NET FrameworkのPure属性でマークされていますが、呼び出すコンテキストに明確な影響があるのはなぜか分かりません。 ポインタインスタンス自体を直接変更しない場合でも、状態は変更されます(ポインタは解放されます)。 質問には暗黙のうちに、間接的にコンテキストの状態を変更していることがわかっていても、開発者は誠実に何かをPureとマークで

    -1

    1答えて

    私は特別なランダマイザクラスを作成しており、CodeContractsを使用してその品質を保証したいと考えています。典型的なランダム化方法は上限値「max」を受け取り、その限界値以下の正のランダム値を返す。 pick()がランダムUInt32返し public int Next(int max) { Contract.Requires<ArgumentOutOfRangeExcepti

    0

    2答えて

    を使用する場合、私は次のメソッドを持っている: public static bool IsBetween<T>(this IComparable<T> value, T lowerBound, T upperBound) where T : IComparable<T> { Contract.Requires<>(value != null); Contract.R

    5

    2答えて

    私はC#コード契約の素晴らしいデモを見ました。私はそれらをmayコードに実装したいと思っています。私はすでに自分のコードでそれらを持っていたらいいと思う。どこから始めますか? 私はデモから印刷物を取り除くことができませんでした。任意の示唆された読書? コード契約のある初心者のための提案はありますか? ご協力いただきありがとうございます。

    2

    2答えて

    Assertと一緒に検証者の手助けをするには、どの証明が最も時間がかかりますか? guess-and-checkより優れている方法はありますか?

    3

    1答えて

    私はC#でCodeContractsを使用し始めました。静的なキーリストを持つクラスがあり、そのリストからキーを削除するRemove()という静的メソッドがあります。 私が契約後の条件から理解していることは、クラスのプログラマーとして、現在のパブリックメソッドが何か具体的なことを保証するということです。この場合、リストの要素を削除します。ここで は、私が書いたものだ: private static

    1

    1答えて

    なぜ私は "CodeContracts:おそらくヌル参照 'ストリーム'でメソッドを呼び出すのですか?"このコードサンプルでは?私はSystem.Contracts.dllでリフレクターを使用して、次の行は、HttpWebRequestのクラスのGetRequestStream()メソッドにありますので、私は求めています public static void Test() { var