引数の説明
エラーの原因となったメソッド名. |
INVOKE文. |
例
public class CS5729 { public void M5729<S>(S p1, long p2) { } public void M5729<S>(long p1, S p2) { } } public delegate void D5729 (long p1, long p2) ;
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. P5729. 000003 ENVIRONMENT DIVISION. 000004 CONFIGURATION SECTION. 000005 REPOSITORY. 000006 CLASS CS5729 000007 DELEGATE D5729 000008 . 000009 DATA DIVISION. 000010 WORKING-STORAGE SECTION. 000011 01 WOBR OBJECT REFERENCE CS5729. 000012 01 DOBR OBJECT REFERENCE D5729. 000013 PROCEDURE DIVISION. 000014 INVOKE D5729 "NEW" USING WOBR "M5729" 000015 RETURNING DOBR. 000016 END PROGRAM P5729.
P5729.cob (14) : JMN5729I-S デリゲートの"NEW"を呼び出すINVOKE文で,USING指定の第2パラメタで指定されたメソッド'M5729'が複数存在するため,メソッドを決定できません.INVOKE文は無効になります.
詳細な説明
デリゲートオブジェクトに対応づけるメソッドを検索するとき,その対象が型パラメタ付きメソッドであった場合は,メソッドの型パラメタはデリゲートのInvokeメソッドの引数に対応づけて推測されます.実体化したメソッドを推測した結果,同じシグネチャを持つメソッドが複数見つかりました.複数のメソッドを同時に1つのデリゲートオブジェクトに対応づけることはできません.