我正在尝试基于抽象类创建一个类,并用另一个返回类型为“T”的函数覆盖基类中包含的函数,这是类传递的类型。
例如:
public abstract class DayInfo
{
public virtual void GetInfo()
{
throw new NotImplementedException();
}
}
public class DayInfo<T> : DayInfo
{
private T info;
public DayInfo(T data)
{
info = data;
}
public T GetInfo() // << This
{
return info;
}
}
例子:
1
DayInfo info = new DayInfo<String>("Blah");
String stuff = info.GetInfo();
2
DayInfo info = new DayInfo<int>(25);
int stuff = info.GetInfo();
有什么办法可以做到这一点?
编辑1:我忘了准确地说我没有在基类中使用类传递类型,因为我希望能够将它用作泛型类型而不必定义任何类型。
例如:
public SortedDictionary<int, DayInfo> Data = new SortedDictionary<int, DayInfo>();
编辑2:
此外,基类中的虚函数的意义在于,如果 GetInfo() 函数被访问但未被覆盖,它将使子类抛出异常。