Contract.EndContractBlock メソッド


メソッドのコントラクトに if-then-throw の形式で実行前の状態のみが含まれる場合に、コントラクト セクションの終わりをマークします。Marks the end of the contract section when a method's contracts contain only preconditions in the if-then-throw form.

 static void EndContractBlock();
public static void EndContractBlock ();
static member EndContractBlock : unit -> unit
Public Shared Sub EndContractBlock ()


ほとんどのコードには、if-then-throw コードの形式でパラメーターの検証が既に含まれています。Most code already contains some parameter validation in the form of if-then-throw code. コントラクトツールは、ステートメントがメソッド内に最初に出現したときにステートメントが事前条件として if-then-を認識します。このようなステートメントのセット全体には、throwContractRequiresEnsuresなどの明示的な EnsuresOnThrowメソッド呼び出しが続きます。EndContractBlockThe contract tools recognize if-then-throw statements as preconditions when the statements appear first inside a method, and the entire set of such statements is followed by an explicit Contract method call, such as a Requires, Ensures, EnsuresOnThrow, or EndContractBlock.

この形式で -then-throw ステートメントが ifされると、コントラクトツールはそれらをレガシ要求ステートメントとして認識します。When if-then-throw statements appear in this form, the contract tools recognize them as legacy-require statements. EndContractBlock フォームが使用されるのは、その他のコントラクトが if-then-のシーケンスに従っていない場合に限られますが、従来の必須のタグを付けることができます。throwThe EndContractBlock form is used only if no other contracts follow the if-then-throw sequences, but they should still be tagged as legacy-requires.