制約段落

制約 (CONSTRAINTS) 段落では、ジェネリック型またはメソッドの型パラメーターのプロパティを指定できるため、そのパラメーターとして指定されている型を持つデータ項目に対してメソッドまたはプロパティを使用できます。

constraints-paragraph

type-specifier type-specifier

次に、ジェネリック引数 T を宣言する USING 指定を含む静的ジェネリック メソッドを示します。このジェネリック引数は、型 System.IComparable を実装するよう制約されます。このメソッドは 2 つのパラメーターを受け取ります。どちらのパラメーターもジェネリック引数と同じ型である必要があります。

       method-id Min using T static.
       constraints.
           constrain T implements type System.IComparable.
       procedure division using by value item1 as T item2 as T
                      returning res as T.
           if item1::CompareTo(item2) < 0
               set res to item1
           else
               set res to item2
           end-if
       end method.

この場合、T が IComparable インターフェイスを実装するとわかっているため、CompareTo メソッドを呼び出すことができます。