方法中的泛型,c#
本文关键字:泛型 方法 | 更新日期: 2023-09-27 18:17:12
这是我的第一个问题,所以请温柔一点:)
我希望能够使用泛型类型的方法,它将返回我的对象供以后使用。我已经尝试了下面的代码,但它不完整。
我需要这样调用:City city = GetDataById(Id);
当然,我需要的不是city,而是通用用法。谢谢你。
private T GetDataById(Guid Id)
{
T obj;
using (ISession session = Session.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
obj = session.Get<T>(Id);
tx.Commit();
}
return obj;
}
}
我想你想:
private T GetDataById<T>(Guid Id)
{
T obj;
using (ISession session = Session.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
obj = session.Get<T>(Id);
tx.Commit();
}
return obj;
}
}
则称其为:
City city = GetDataById<City>(Id);
你从不定义t。需要。
private T GetDataById<T>(Guid Id) { /* ... */ }
和
City city = GetDataById(Id);
永远不能这样调用它,因为不能推断类型参数。您将需要提供它,即
City city = GetDataById<City>(Id);