using System.Collections.Generic;
public static void Main()
public static void Print<T>()
IList<T> data = new List<T>();
Console.WriteLine(data.GetType().GetGenericTypeDefinition());
Console.WriteLine(data.GetType().GetGenericArguments()[0]);
Console.WriteLine("-------------------------------------------------");
Console.WriteLine(typeof(IList<T>).GetGenericTypeDefinition());
Console.WriteLine(typeof(IList<int>).GetGenericArguments()[0]);