C# T 泛型类,泛型方法的约束条件用法
class A<T> where T:new()
這是類型參數(shù)約束,where表名了對(duì)類型變量T的約束關(guān)系。where T:A 表示類型變量是繼承于A的,或者是A本省。where T: new()指明了創(chuàng)建T的實(shí)例應(yīng)該使用的構(gòu)造函數(shù)。
.NET支持的類型參數(shù)約束有以下五種:
? where T: struct ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? T必須是一個(gè)結(jié)構(gòu)類型
? where T: class ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? T必須是一個(gè)類(class)類型,不是結(jié)構(gòu)(structure)類型
? where T: new() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? T必須要有一個(gè)無(wú)參構(gòu)造函數(shù)
? where T: NameOfBaseClass ? ? ? ? ? ? ? ? T必須繼承名為NameOfBaseClass的類
? where T: NameOfInterface ? ? ? ? ? ? ? ? ?? T必須實(shí)現(xiàn)名為NameOfInterface的接口
轉(zhuǎn)載于:https://www.cnblogs.com/itsone/p/10303101.html
總結(jié)
以上是生活随笔為你收集整理的C# T 泛型类,泛型方法的约束条件用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: git基础: 《获取Git仓库》学习笔
- 下一篇: 解题报告 『生活大爆炸版石头剪刀布(模拟