이곳이 내 첫 번째 질문입니다.이 사이트를 발견하게 된 것을 기쁘게 생각합니다.일반 매개 변수 유형에 대한 포인터를 캐스팅하는 방법은 무엇입니까?
제 질문은 Delphi 2009의 새로운 Generics 기능에 대한 것입니다. 기본적으로 기존 해시 맵 구현을위한 일반 래퍼 클래스를 작성하려고했습니다. 기존 구현에서는 (String, Pointer) 쌍을 저장하므로 래퍼 클래스에서 일반 매개 변수 유형 T와 포인터 유형간에 캐스팅해야하며 반대의 경우도 마찬가지입니다. (값 : T)
type THashMap <T : class> = class
private
FHashList : THashList;
...
end;
나는 이런 캐스트 생각
Value := (TObject (Ptr)) as T
하지만이 작동하지 않습니다. 컴파일러에서 '이 연산자 유형에 적용 할 수없는 연산자'라고 알려줍니다.
누군가 힌트가 있습니까? 많은 감사드립니다.