1
這裏是我的一個項目的剝離下來的片段:如何獲得泛型類之外的實際泛型參數?
接口部分:
type
TMainFormView<T:TCustomForm> = class(TInterfacedObject, IMainFormView)
private
...
protected
function GetMainFormClass: TCustomFormClass;
//
property MainFormClass:TCustomFormClass read GetMainFormClass;
public
...
end;
實現部分:
function TMainFormView<T>.GetMainFormClass: TCustomFormClass;
begin
Result:= T;
end;
我已經重構它和前執行是非常醜陋的相信我(我用了一個內部類,我最近發現它是一種矯枉過正而不優雅的)。
有沒有其他更好的方法來編碼它?我的目的是能夠提取T的「具體」類,並通過受保護的屬性對其進行公開。