时间:2021-05-19
定义最基本的泛型类如下:
复制代码 代码如下:
public abstract class GetDataBase<T> :IHttpHandler, IRequiresSessionState {
protected abstract T GetModel(HttpContext context);
protected abstract IList<T> GetList(int pageSize, int pageIndex, string where, string sortname, string sortorder, out int total);
protected JsonFlexiGridData GetFlexiGridData(IList<T> list, int pageIndex, int pageSize, int total, string colkey, string colsinf)
{
PagedList<T> pl = new PagedList<T>();
pl.PageIndex = pageIndex - 1;
pl.PageSize = pageSize;
pl.DataList = new List<T>();
pl.DataList.AddRange(list);
pl.Total = total;
JsonFlexiGridData data = JsonFlexiGridData.ConvertFromPagedList(pl, colkey, colsinf.Split(','));
return data;
}
}
其实最简单的只需要添加<T>,就表示泛型类了,可在使用的过程中 pl.DataList = new List<T>();总是提示错误,编译不通过,说是必须是类才可以,于是修改如下
复制代码 代码如下:
public abstract class GetDataBase<T> :IHttpHandler, IRequiresSessionState where T : class{
1设定泛型基类或者要求
关键的一句where T : class就表示类型是类,当然如果需要T是其他类型,例如接口,或者是继承与某个类,也是同样的修改方法
例如泛型接口继承于泛型接口IObjectWithKey<TK>,
复制代码 代码如下:
public interface IDeviceAgent<TK, TCk> : IObjectWithKey<TK>, IDisposable{
例如泛型接口IContainer的第一类型TV必须继承与接口IObjectWithKey<TK>
复制代码 代码如下:
public interface IContainer<TK, TV> where TV:IObjectWithKey<TK>{
2泛型有多个类型
复制代码 代码如下:
public interface IContainer<TK, TV> where TV:IObjectWithKey<TK>{
就有多个类型,当然,在具体的类中,这两种类型可以相同,也可以不同
其实也就是在一对<>中放置多个类型,有几个类型,就放几个参数,名称没有什么特殊要求
3泛型如果有多个类型约束,例如都要求是类,如何处理
复制代码 代码如下:
public abstract class GetDataBase<TListItem, TModel> : IHttpHandler, IRequiresSessionState
where TListItem : class
where TModel : class
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍在泛型定义中的<>中的占位符如何配合extends关键字使用,形如。泛型定义存在于这三种形式中:泛型类、泛型接口、泛型方法。一般的泛型定义中的,相当
本文实例讲述了Java泛型类与泛型方法的定义。分享给大家供大家参考,具体如下:Java泛型类的定义一点睛泛型类定义的语法如下:[访问修饰符]class类名称泛型
本文实例讲述了Java定义泛型接口和类的方法。分享给大家供大家参考,具体如下:一点睛所谓泛型:就是允许在定义类、接口指定类型形参,这个类型形参在将在声明变量、创
本文实例讲述了Java泛型的继承和实现操作。分享给大家供大家参考,具体如下:一点睛泛型类和泛型接口被定义后,是可以被继承和实现的。二泛型类的继承1代码class
java泛型方法:泛型是什么意思在这就不多说了,而Java中泛型类的定义也比较简单,例如:publicclassTest{}。这样就定义了一个泛型类Test,在