C#中怎样override泛型方法
基类中的方法public abstract List<T> ReadFileToList<T>(string FileName, string tableName);
怎样override这个方法??
是不是这样:public override List<string> ReadFileToList(string FileName, string tableName);
--------------------编程问答-------------------- public override List<T> ReadFileToList<T>(string FileName, string tableName)
--------------------编程问答-------------------- 提示:无法将类型“System.Collections.Generic.List<string>”隐式转换为“System.Collections.Generic.List<T>” --------------------编程问答-------------------- abstract class A<T> where T : class
{//你是这样写的吧?
public abstract List<T> ReadFileToList(string FileName, string tableName);
}
class B : A<string>
{
public override List<string> ReadFileToList(string FileName, string tableName)
{
return null;
}
} --------------------编程问答-------------------- 谢谢你的回答,但因为业务原因,T只能写在方法上,不能写在类上 --------------------编程问答-------------------- 将部分代码贴上来 --------------------编程问答-------------------- 我简单介绍一下业务逻辑,抽象基类中ReadFileToList方法需要返回一个List,但这个List的类型不确定,需要子类确定。多谢了 --------------------编程问答-------------------- abstract class A
{
public abstract List<T> ReadFileToList<T>(string FileName, string tableName) where T : class;
}
class B : A
{
public override List<T> ReadFileToList<T>(string FileName, string tableName)
{
//……
return null;
}
}
static void Main(string[] args)
{
B b = new B();
b.ReadFileToList<string>("", "");
Console.ReadLine();
}
这样吗? --------------------编程问答-------------------- 应该是这样,我觉得我的整个设计思路好像有问题。。这样的话调用ReadFileToList()方法时还是需要指明T的类型,不够灵活 --------------------编程问答-------------------- 请问这位兄台有没有什么好的思路
补充:.NET技术 , C#