我有 2 节课:
- 员工
- 员工详情
我有这样的Employee
类方法:
public static Employee LoadEmployee(int id)
{
StringBuilder selectQuery = new StringBuilder();
string selectQuery = " my query with the parameter 'Id' ";
dbGenerator _db = dbGenerator.Instance.Database;
DbCommand selectCommand = _db.GetSqlStringCommand(selectQuery.ToString());
_db.AddInParameter(selectCommand, "@id", System.Data.DbType.String, Id);
//EXECUTE THE COMMAND
using (IDataReader dr = _db.ExecuteReader(selectCommand))
{
if (dr.Read())
{
result = new Employee();
Employee.LoadDataReader(result, dr);
}
dr.Close();
}
return result;
}
而且我有一个方法对EmployeeDetails
类做同样的事情......除了返回类型之外没有任何变化。
我确信有一些方法可以最大限度地减少代码行,并且使用 C# 泛型它会更具可读性,并且泛型提供类型安全性,而不会产生多个实现的开销。
我需要一个可以传递类对象的方法selectQuery
,ParameterId
就像这样
public static <T> LoadData<T>(Object object, string selectQuery, int paramId)
{
// do stuff
// return <T>results;
}
任何建议将不胜感激。