Как я могу получить тип общего параметра?Как получить тип общего параметра?
Например:
void Example<T>()
{
// Here I want to get the type of T (and how can I get if T is a primitive
// kind (int,bool,string) not class)
}
Как я могу получить тип общего параметра?Как получить тип общего параметра?
Например:
void Example<T>()
{
// Here I want to get the type of T (and how can I get if T is a primitive
// kind (int,bool,string) not class)
}
Type type = typeof(T);
Это поможет вам объект типа для типа T.
type.IsPrimitive
сообщит вам, если это один из примитивных типов, смотрите список здесь: http://msdn.microsoft.com/en-us/library/system.type.isprimitive.aspx
Кроме того, обратите внимание, что, хотя string
является основным тип, который очень интегрирован с системой .NET, не является примитивным. System.String
- это полноценный класс, а не примитив.
использовать следующие для получения типа Т:
Type typeParameterType = typeof(T);
Кроме того, вы можете получить тип T из экземпляра типа T:
instance.GetType();