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

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

XXX.CreateDAL<IDAL.SqlHelper>();//这里调用下面的泛型函数publicstaticTCreateDAL<T>(){//这里怎么获取T的类型字符串,得到SqlHelper或者IDAL.SqlHelper}...展开

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

泛型方法是使用类型参数声明的方法,如下所示:
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是需要调用的时候确定类型的,不是反过来获取。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

        /// <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());

        }

原文地址:https://www.cnblogs.com/grj001/p/12224868.html