码迷,mamicode.com
首页 > Windows程序 > 详细

C# 泛型类型约束 where

时间:2020-06-25 11:49:04      阅读:67      评论:0      收藏:0      [点我收藏+]

标签:ems   ram   接口   参数   style   引用   struct   div   HERE   

 1  class Program {
 2         static void Main(string[] args) {
 3 
 4         }
 5     }
 6 
 7     interface IMyInterface {
 8         void Method1();
 9     }
10 
11     //一、六种类型约束
12     //1、类型参数必须是引用类型
13     class MyClass1<T> where T : class {}
14     //2、类型参数必须是值类型
15     class MyClass2<T> where T : struct {}
16     //3、类型参数必须具有无参公共构造函数
17     class MyClass3<T> where T : new() {}
18     //4、类型参数必须是指定的类型或及其子类
19     class MyClass4<T> where T : Program { }
20     //5、类型参数必须是实现了指定接口的对象
21     class MyClass5<T> where T : IMyInterface { }
22     //6、U类型参数必须为T类型或及其子类
23     class List<T>
24     {
25         void Method<U>(List<U> items) where U : T
26         {
27             //TODO
28             //Do something...
29         }
30     }
31 
32     //二、约束可以用于类、方法和委托
33     delegate void MyDelegate<T>() where T:class;

 

C# 泛型类型约束 where

标签:ems   ram   接口   参数   style   引用   struct   div   HERE   

原文地址:https://www.cnblogs.com/mojiejushi/p/13191198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!