原来泛型不单只对类的,也可以只使用在方法或函数里面:
public abstract class BaseClass
{
protected static T MyGetModel<T>(DataTable dt) where T : class,new()
{
DataRow dr = dt.Rows[0];
T model = new T();
PropertyInfo[] pis = model.GetType().GetProperties();
foreach (PropertyInfo pi in pis)
{
try
{
if (dt.Columns.Contains(pi.Name) && dr[pi.Name].ToString() != "")
{
pi.SetValue(model, dr[pi.Name] ?? "", null);
}
}
catch { }
}
return model;
}
}