您的位置:首页 > 编程语言 > C#

深入理解 c# 第三章 获取泛型类型定义和获取特定的已构造类型

2018-04-07 22:34 671 查看
class TypeofOperator
{
static internal void DemonstrateTypeof<X>()
{
Console.WriteLine(typeof(X));  //显示方法的类型参数

Console.WriteLine(typeof(List<>));  //显示泛型类型
Console.WriteLine(typeof(Dictionary<,>));

Console.WriteLine(typeof(List<X>));  //显示封闭类型
Console.WriteLine(typeof(Dictionary<string, X>));

Console.WriteLine(typeof(List<long>));  //显示封闭类型
Console.WriteLine(typeof(Dictionary<long, Guid>));
}

static void Main()
{
DemonstrateTypeof<int>();
}
}
Dictionary<TKey,TValue>  要有尖括号和 逗号

输入
Console.WriteLine(typeof(X));

Console.WriteLine(typeof(List<>));
Console.WriteLine(typeof(Dictionary<,>));

Console.WriteLine(typeof(List<X>));
Console.WriteLine(typeof(Dictionary<string, X>));

Console.WriteLine(typeof(List<long>));
Console.WriteLine(typeof(Dictionary<long, Guid>));

输出
System.Int32
System.Collections.Generic.List`1[T]
System.Collections.Generic.Dictionary`2[TKey,TValue]
System.Collections.Generic.List`1[System.Int32]
System.Collections.Generic.Dictionary`2[System.String,System.Int32]
System.Collections.Generic.List`1[System.Int64]

System.Collections.Generic.Dictionary`2[System.Int64,System.Guid]

`1 表示一个参数   x当作 Int32  默认为T,Dictionary默认为 TKey,TValue

long 当作 Int64
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#