D에 classe 참조 시스템이 있습니까? 현재 내가 할D에 메타 클래스 또는 클래스 참조가 있습니까?
// ideally
void AddNew(*TBaseClass APtr, /*?class_ref_type?*/ AClassType)
{
*APtr = new AClassType;
}
: 나는 (단지 Object
처럼하지만 클래스 이름을 사용하지 않고) 공장을 위해 사용되는 델파이
TMyClassRef = class of TMyClass;
이 동등한를 찾아 더 정확합니다 이 :
void AddNew(*TBaseClass APtr)
{
*APtr = new typeof(*APtr);
}
그러나 문제는 typeof()
반환 항상 TBaseClass
결코 TBaseClass
의 하위 클래스 (하위 제공자 라이선스 계약 매개 변수로 전달됩니다. 클래스 참조가 델파이에서 사용되지만 D 언어는 그런 시스템을 갖고 있지 않은 경우가 분명합니다.
아마도 도움이 될 것입니다. http://forum.dlang.org/thread/CAEyOLyDZaL2[email protected] – sigod
컴파일 타임 매개 변수를 살펴보십시오. http://ddili.org/ders/d.en/templates.html – sigod