where用法
2024-09-01 01:54:01
where 子句用于指定类型约束。
1.接口约束
public class MyGenericClass<T> where T:IComparable { }
2.基类约束:
指出某个类型必须将指定的类作为基类(或者就是该类本身),才能用作该泛型类型的类型参数。
这样的约束一经使用,就必须出现在该类型参数的所有其他约束之前。
class MyClassy<T, U>
where T : class
where U : struct
{
}
3.构造函数约束
new() 约束可以让编译器知道:提供的任何类型参数都必须具有可访问的无参数(或默认)构造函数。
public class MyGenericClass <T> where T: IComparable, new()
{
// The following line is not possible without new() constraint:
T item = new T();
}
4.还可以将约束附加到泛型方法的类型参数,例如:
public bool MyMethod<T>(T t) where T : IMyInterface { }
请注意,对于委托和方法两者来说,描述类型参数约束的语法是一样的:
delegate T MyDelegate<T>() where T : new()
最新文章
- 视图UIView的大小和位置属性详解
- Expression Blend4经验分享:制作一个简单的文字按钮样式
- mySql-通过group by分组
- HTML-3月20日课堂总结
- centos 升级GCC/G++
- prim求MST
- sublime text3设置文件类型(CR/LF)
- ibatis+spring+cxf+mysql搭建webservice
- WordPress Cart66 Lite插件跨站请求伪造漏洞
- 如何让Windows程序只运行一个程序实例?
- 编写一个程序实现strcpy函数的功能
- php 四种基础的算法 ---- 冒泡排序法
- Cobbler批量部署CentOS
- Javascript面向对象编程(一):封装
- nginx负载均衡精简配置实例
- RDO快速部署OpenStack
- 3 jmeter的两种录制方法
- c++学习笔记(二)-指针
- 怎么查 ODBC Driver for SQL Server
- 标签无效 ";/zabbix_export/date";: ";YYYY-MM-DDThh:mm:ssZ"; 预计。
热门文章
- mysql数据库的还原及常见问题解决
- 通过JDBC API访问数据库的基本步骤
- 客户端配置代理服务实现yum上外网
- 19.网络插件calico
- 001-多线程-JUC线程池-线程池架构-Executor、ExecutorService、ThreadPoolExecutor、Executors
- Build Telemetry for Distributed Services之OpenTracing简介
- React Native使用NetInfo对当前系统网络的判断
- 微信小程序文字超过行后隐藏并且显示省略号
- flask上下文管理相关-LocalStack 对象维护栈
- 【ARM-Linux开发】【Qt开发】Qt Creator自定义编译运行步骤