我有两个方法 分别返回两个类型的 集合
第一个 List<int> GetIndexList()...
第二个List<string> GetTextList()...
我在重构的时候 发现 这两个方法体过程完全一样 就是 读出的数据一个是整形 一个是字符串
我想把这两个方法的过程抽象出来 然后通过传类型 进去 让两个方法返回一个整形集合 一个string集合
我该怎么做呢?
------解决思路----------------------
加个参数呗
比如
List<T> GetITList(string type)
{
switch(type)
{
case "int":
return new List<int>();
break;
case "string":
return new List<string>();
break;
}
}
------解决思路----------------------
List<T> 要实例化..
------解决思路----------------------
貌似 datable 不能强转T..
------解决思路----------------------
这个应该可以
------解决思路----------------------
List<T> Function<T>();
试试这样
------解决思路----------------------
用泛型存储不同类型的数据
class Types<T>
{
public T Num; //声明编号字段
public T Name; //声明姓名字段
public T Sex; //声明性别字段
public T Age; //声明年龄字段
public T Birthday; //声明生日字段
public T Salary; //声明薪水字段
}
private void button1_Click(object sender, EventArgs e)
{
Types<object> Exte = new Types<object>();//实例化泛型类对象
//为泛型类中声明的字段进行赋值,存储不同类型的值
Exte.Num = 1;
Exte.Name = "白显明";
Exte.Sex = "女";
Exte.Age = 25;
Exte.Birthday = Convert.ToDateTime("1986-06-08");
Exte.Salary = 1300.45F;
//将泛型类中各字段的值显示在文本框中
textBox1.Text = Exte.Num.ToString();
textBox2.Text = Exte.Name.ToString();
textBox3.Text = Exte.Sex.ToString();
textBox4.Text = Exte.Age.ToString();
textBox5.Text = Exte.Birthday.ToString();
textBox6.Text = Exte.Salary.ToString();
}
}
------解决思路----------------------
你所谓的“框架”是没有根据的、只基于皮毛的想像就“搭框架”,这样出来的东西,聪明人只会等着看笑话啊。
你要能说出来 DataTable 如何转为int、string,你再来搭所谓的“框架”。如果稍微深入一步追问,你就胡乱写代码了,那么你这不就好像是“南郭先生”一样的做法了嘛。
“打好框架”,前提是有坚实的基础。框架的重构和扩展,实在已经成功的基础框架之上重构的,绝不是在标题党之上去构建的。