【发布时间】:2017-07-31 15:37:08
【问题描述】:
我有两个Model 类,一个是Person,另一个是Department。我想要实现的是我想创建一个通用函数,该函数可用于以List 的形式检索通用类型数据,例如一个电话将返回Person List,另一个电话将返回Department List。更具体地说,我想以 List 的形式返回数据。
下面是Person 类。
public class Person {
public Int16 Personid{ get; set; }
public string Personname { get; set; }
public string Personaddress { get; set; }
}
下面是Department 类。
public class Department {
public Int16 Departmentid { get; set; }
public string Departmentname { get; set; }
public string Departmentsection { get; set; }
}
以下是调用函数,其中一次我使用CallingMethodPerson() 拨打电话,另一次拨打CallingMethodDepartment()。
public class CallingClass {
public void CallingMethodPerson() {
CalledClass calling = new CalledClass();
Calling. CalledMethod();
}
public void CallingMethodDepartment() {
CalledClass calling = new CalledClass();
Calling. CalledMethod();
}
}
下面的蓝图是CalledClass,它在其中进行一些操作并返回Person 或Department 的列表。
public class CalledClass {
public void CalledMethod() {
//this is a generic method wherein returns the list of either a Person
or Department whenever called.
}
}
总而言之,我想实现一个返回泛型类型数据的通用函数。诀窍实际上是我想构建一个具有SQL Read command 的通用函数,因此我将使用不同的模型一次又一次地调用相同的函数,执行查询,从database 检索数据,将其存储到@987654340泛型类型的@ 并返回到callingmethod。
【问题讨论】:
-
所以...
public List<T> CalledMethod<T>()...有什么问题? -
@ZoharPeled 我希望
CalledMethod()识别调用的类型是Person还是Department,然后运行SQL Read 命令,将其存储在泛型类型列表中并返回结果.我知道你现在会说 SQL 是从哪里出现的。我的目标是我正在尝试构建一个通用函数来处理命令并在列表中返回结果。
标签: c# generics reflection