다음과 같은 메서드 서명이있는 경우
public string myMethod<T>( ... )
메소드 내에서 유형 인수로 제공된 유형의 이름을 어떻게 얻을 수 있습니까? 와 비슷한 작업을 typeof(T).FullName
하고 싶지만 실제로 작동합니다 …
답변
코드가 작동합니다. typeof(T).FullName
완벽하게 유효합니다. 이것은 완전히 컴파일되고 작동하는 프로그램입니다.
using System;
class Program
{
public static string MyMethod<T>()
{
return typeof(T).FullName;
}
static void Main(string[] args)
{
Console.WriteLine(MyMethod<int>());
Console.ReadKey();
}
}
위의 인쇄 실행 (예상대로) :
System.Int32
답변
typeof(T).Name
그리고 typeof(T).FullName
나를 위해 노력하고 있습니다. 인수로 전달 된 유형을 얻습니다.
답변
사용 가능한 T의 인스턴스가 있다고 가정하면 다른 유형과 다르지 않습니다.
var t = new T();
var name = t.GetType().FullName;