Одним из способов было бы использование new List<int>().GetType().ToString()
, которое возвращает System.Collections.Generic.List`1[System.Int32]
.
. Или вы можете написать себе небольшой вспомогательный метод в виде строк:
string GetShortName(Type type)
{
string result = type.Name;
if (type.IsGenericType)
{
// remove genric indication (e.g. `1)
result = result.Substring(0, result.LastIndexOf('`'));
result = string.Format(
"{0}<{1}>",
result,
string.Join(", ",
type.GetGenericArguments().Select(t => GetShortName(t))));
}
return result;
}
, который выводит строкинапример:
List<Int32>
List<T>
Dictionary<List<Double>, Int32>
Tuple<T1, T2, T3, T4>
Обратите внимание, что для вложенных типов будет возвращено только самое внутреннее имя.