Delphi 2010(XEでも)でジェネリックインターフェイスを定義しようとしましたが(コンパイルしても)、エラーの洞察が構文について不平を言っています。不幸にも、これは実装クラスのコード補完も破ります。私は経由string
に置き換えた場合Delphiジェネリックインターフェイス(文字列タイプ)
TSomeClass = class (TInterfacedObject, IValue <string>, IValue <Integer>)
protected
function GetValue1 : string;
procedure SetValue1 (Value : string);
function GetValue2 : Integer;
procedure SetValue2 (Value : Integer);
function IValue <string>.GetValue = GetValue1; //from this point error insight complains
procedure IValue <string>.SetValue = SetValue1;
(*....*)
end;
:
IValue <T> = interface
function GetValue : T;
procedure SetValue (Value : T);
end;
と実装クラス:
)インターフェースを、だから私はそれがIDEまたは私の思考の誤差の誤差があるかどうか疑問Tstring
と定義してください。TString = string
すべてがうまく見えます。任意のアイデアか、それともDelphiのバグですか?
よろしく、
ココ
QC#102293で同様の問題(XE2アップデート3)が報告されました:http://qc.embarcadero.com/wc/qcmain.aspx?d=102293 * IDE修正パックが役に立たなかった –