C# 方法c中的泛型

C# 方法c中的泛型,c#,generics,C#,Generics,这是我的第一个问题,所以请温柔一点: 我希望能够对泛型类型使用方法,它将返回我的对象供以后使用。我尝试了下面的代码,但它不完整 我需要这样调用:City-City=getdatabyidd;当然,我需要的不是城市,而是一般用途。 谢谢和问候 private T GetDataById(Guid Id) { T obj; using (ISession session = Session.OpenSession())

这是我的第一个问题,所以请温柔一点:

我希望能够对泛型类型使用方法,它将返回我的对象供以后使用。我尝试了下面的代码,但它不完整

我需要这样调用:City-City=getdatabyidd;当然,我需要的不是城市,而是一般用途。 谢谢和问候

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);
我认为你想要:

    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<City>(Id);

你从来没有定义过T。你。。。需要

private T GetDataById<T>(Guid Id) { /* ... */ }
您永远无法这样调用它,因为无法推断类型参数。您需要提供它,即

City city = GetDataById<City>(Id);