是否可以在运行时将类型传递给Get<T>
扩展名?
例如,我有像国家,州,城市这样的类,以及包含其中任何一个的对象变量实例。我想将类类型传递给var myobject = _somedata; //it could be of type countries, states, cities, etc...
var q = sqlConn.Get<typeof(myobject)>()
方法
伪代码:
{{1}}
无论如何要实现这个目标吗?
答案 0 :(得分:2)
你可以,但你不想。结果代码很讨厌。
相反,请尝试编写自己的使用参数类型的扩展方法。
public static T GetLike<T>(this IDbConnection conn, T likeType)
{
return conn.Get<T>();
}
然后你可以简单地调用
var q = sqlConn.GetLike(myobject);
编译器会推断出匿名类型。