C#泛型函数获取T类型名称

XXX.CreateDAL<IDAL.SqlHelper>(); //这里调用下面的泛型函数

public static T CreateDAL<T>()
{
//这里怎么获取T的类型字符串,得到SqlHelper或者IDAL.SqlHelper

}
最新回答
深情是罪

2024-10-30 17:53:37

泛型方法是使用类型参数声明的方法,如下所示:
static void Swap<T>(ref T lhs, ref T rhs)
{
T temp;
temp = lhs;
lhs = rhs;
rhs = temp;
}

这里的T是传进来的,不需要获取。
比如:
public static T CreateDAL<T>()
{
//这里怎么获取T的类型
字符串
,得到SqlHelper或者IDAL.SqlHelper

}
这里的T是需要调用的时候确定类型的,不是反过来获取。
达阳云

2024-10-30 21:51:37

您好.
您所需要的代码如下.
public void CreateDAL<T>()
{
//这里怎么获取T的类型字符串,得到SqlHelper或者IDAL.SqlHelper
MessageBox.Show(typeof(T).ToString());
}
じ★ve妳

2024-10-30 13:53:12

        /// <summary>
        /// 获取类型名称
        /// </summary>
        public void GetClassName<T>()
        {
            // 打印结果:ClassName
            Console.WriteLine(typeof(T).Name);
        }

        /// <summary>
        /// 获取类型完全名称
        /// </summary>
        public void GetClassAllName<T>()
        {
            // 打印结果:namespace.ClassName
            Console.WriteLine(typeof(T).ToString());
        }