-
基本类型泛型(二)
16
.4
泛型接口
![](https://www.cnblogs.com/images/cnblogs_com/tenghoo/CLR16image004.gif)
16.5泛型委托
![](https://www.cnblogs.com/images/cnblogs_com/tenghoo/CLR16image005.gif)
16.6泛型方法
![](https://www.cnblogs.com/images/cnblogs_com/tenghoo/CLR16image006.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
public sealed class program
{
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void Swap<T>(ref T a, ref T b)
{
T temp;
temp = a;
a = b;
b = temp;
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void CallingSwap()
{
Int32 n1 = 10, n2 = 20;
Console.WriteLine("n1={0},n2={1}", n1, n2);
Swap<Int32>(ref n1, ref n2);
Console.WriteLine("n1={0},n2={1}", n1, n2);
String s1 = "Hello", s2 = "World";
Console.WriteLine("s1={0},s2={1}", s1, s2);
Swap<String>(ref s1, ref s2);
Console.WriteLine("s1={0},s2={1}", s1, s2);
Console.ReadLine();
}
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
public static void Main()
{
CallingSwap();
}
}
16.7泛型和其他成员
在C#中,属性、索引器、事件、操作符方法、构造器和总结器本身不能有类型参数。然而,他们能在一个泛型类型中定义,而且这些成员中的代码可以使用类型的类型参数。
16.8可验证性和限制
![](https://www.cnblogs.com/images/cnblogs_com/tenghoo/CLR16image007.gif)
![](https://www.cnblogs.com/images/cnblogs_com/tenghoo/CLR16image008.gif)
![](https://www.cnblogs.com/images/cnblogs_com/tenghoo/CLR16image009.gif)
-
相关阅读:
前端多媒体(7)—— 在浏览器中实现rtmp推流
Canvas drawImage
png8 png24 png32
前端多媒体(6)—— 视音频编解码技术基础
Meta viewport 学习整理
前端多媒体(5)—— 图片滤镜的实现
前端多媒体(4)—— video标签全面分析
前端多媒体(3)—— 处理二进制数据
前端多媒体(2)—— xhr异步接收处理二进制数据
babel-runtime 和 babel-polyfill
-
原文地址:https://www.cnblogs.com/tenghoo/p/1211100.html
Copyright © 2020-2023
润新知