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>

publicvoidGetClassName<T>()

{

// 打印结果:ClassName

Console.WriteLine(typeof(T).Name);

}

/// <summary>

/// 获取类型完全名称

/// </summary>

publicvoidGetClassAllName<T>()

{

// 打印结果:namespace.ClassName

Console.WriteLine(typeof(T).ToString());

}