제네릭 형식의 한 가지 방법을 가진 기본 클래스가 있으며 파생 된 부분에서 문자열을 반환 할 것이라고 확신합니다. 이것은 내 코드입니다.형식 매개 변수 선언은 형식이 아닌 식별자 여야합니다
public abstract class Base
{
public virtual T GetSomething<T>()
{
return default(T);
}
}
public class Extended : Base
{
public override string GetSomething<string>()
{
return string.Empty;
//return base.GetSomething<T>();
}
}
하지만이 코드는 컴파일되지 않습니다. 아무도 실수를 발견 할 수 있습니까? 확장 클래스에서 문자열 만 반환하고 싶습니다. 어떻게 해결할 수 있습니까?
또는 기본을 변경하십시오. 'public abstract class Base' –
Eranga
으로, 그리고 나서'Extended : Base'로 클래스 선언을 할 수 있습니다. 확실히 가능합니다. OP가 무엇을 달성하려고하는지 즉시 알 수는 없으므로 클래스 디자인을 최소한으로 변경해야하는 접근법을 선택했습니다. –
cdhowie