제네릭 인터페이스를 반환해야하는 메소드가 있습니다. 델파이에서 메서드를 만들려고했습니다. 그러나 그것이 어떻게 쓰여 져야하는지 확신 할 수 없는가? 나를 도울 수있는 사람이 있습니까? 다음은 작동 내가 자바에서 변경 한 예입니다 : 자바 코드를 델파이로 변환 할 때의 문제
public < T extends StandardDataProvider<?>> T GetDataProvider(String dataProviderName) {
if (dataproviders == null)
buildDataProviderMap();
if (dataproviders.containsKey(dataProviderName)) {
return (T) dataproviders.get(dataProviderName);
} else
return null;
}
그런 다음에 델파이 동일한 작업을 수행하려고 ..하지만이 동작하지 않습니다?
function TLocalDataProviderFactory. GetDataProvider(DataProviderName: string): IStandardDataProvider; // Shows errors here?
begin
if not Assigned(DataProvider) then
BuildDataProviderMap;
if DataProvider.ContainsKey(DataProviderName) then
begin
Result := DataProvider.Items[DataProviderName];
end
else
begin
Result:= nil;
end;
end;
어떤 오류가 발생 했습니까? –
E2003 선언되지 않은 식별자 : 'T' – Godfather75
IStandardDataProvider는 다른 인터페이스의 기본 인터페이스입니다. IStandardDataProvider = 인터페이스 및 하위 요소는 IEventDataProvider = interface (IStandardDataProvider ) –
Godfather75