메서드에 대해 선언 된 형식을 가진 함수를 호출하려고합니다.형식을 파일에서 읽을 때 항목을 반환하는 방법
public T Get<T>().
파일에서 문자열을 읽고이를 스위치를 통해 구문 분석하여 사용 된 유형을 확인합니다.
switch (type)
{
case "Text":
item = Get<Text>();
break;
case "Button":
item = Get<Button>();
break;
}
어떻게 내가 호출 된 함수에서 Type 항목을 반환할까요? 파생 클래스의 메서드에 액세스해야하므로 일반 부모를 반환하고 싶지 않습니다.
public <????> newGet()
{
switch (type)
{
case "Text":
item = Get<Text>();
break;
case "Button":
item = Get<Button>();
break;
}
return item;
}
제네릭에서는이를 수행 할 수 없습니다. 그것들은 컴파일 타임 전용 기능입니다. '동적'을 사용할 수 있습니까? – Blorgbeard
고마워요 @ Blorgbeard. 이것은 내가 겪었던 누락 된 정보입니다! – Scotty
'Text'와'Button' 유형은 무엇입니까? 그게 너의 타입이야? 직접 정의한 경우 기본 유형에서 파생 시키거나 공통 인터페이스를 구현 한 다음 반환 유형을 공통 기본 유형 또는 인터페이스로 선언하고 두 가지 유형의 객체를 모두 반환 할 수 있습니다. –