参数类型为DataRow和SqlDataReader,如果把它改成泛型。
1、
public string ReadArticleField(SqlDataReader sdr, string Template)
{
2、
public string ReadArticleField(DataRow sdr, string Template)
{
========
有这么两个方法,里面的代码都是一样的,只是参数不一样,一个是DataRow,一个是SqlDataReader。
现在有多个地方需要调用这个方法来实现读取表字段值。如sdr["title"].ToString()。
不想去复制多个方法以适用不同的类型,所以想到用泛型,不知如果用泛型的话要怎么实现
public class Test<T> : BaseClass
{
public string ReadArticleField(T sdr, string Template)
{
retrun sdr["title"].ToString();
}
}
=========
用上面这个方法时提示“无法将带 [] 的索引应用于“T”类型的表达式”
请教大家。谢谢
------解决方案--------------------那你还不如将sdr["title"]作为参数传入呢
public string ReadArticleField(objcet sdr, string Template)
使用
ReadArticleField(xxx["title"],xxx)
------解决方案--------------------泛型的概念其实就是在设计时不需要关系具体类型。
但是看你的需求,其实还是需要关系具体类型的,所以用泛型并不适合。