• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 介绍C# 泛型类在使用中约束

介绍C# 泛型类在使用中约束

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#泛型类,c#中泛型类,c#泛型约束,c#泛型,c#泛型编程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

首先看一下泛型的基本语法

访问修饰符 返回类型 泛型方法名 <T>(T 参数)

1):无法在泛型方法内部给任何 T 类型创建实例的对象,因为在泛型方法内部不知道传进来的对象有哪些构造函数
2):约束是对内部的!(对于泛型方法)约束也是会被继承的!

3):给泛型类 加类型(引用类型,值类型)的约束:where T:class,new ( )

遇到的问题:
在写MongodbHelper类的时候,为了能处理多种类别,所以如下定义了该类:

var db = mongo.GetDatabase(_databaseName);

var collection = db.GetCollection<T>(_collectionName);

collection.Insert(t, true);

mongo.Disconnect();
</div>

这个是对mongo做插入操作的方法,这个时候,db.GetCollection<T>(_collectionName) 这里的T导致编译无法通过,因此查出上面的定义是有误的,GetCollection的签名如下:

IMongoCollection<T> GetCollection<T>(string name) where T : class;

它对T有特殊的自己的约束,因此

在定义的时候也要加上对应的约束,来保证T的约束一致。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 介绍C# 泛型类在使用中约束
  • 浅谈c# 泛型类的应用

相关文章

  • 2017-05-28C#中常使用进度条的代码
  • 2017-05-28C#图像亮度调整的方法
  • 2017-05-28C#键值对容器的介绍
  • 2017-05-28C#定时关闭窗体实例
  • 2017-05-28c# 对windows用户和组操作实例
  • 2017-05-28C#如何给PDF文件添加水印
  • 2017-05-28C#数据结构之队列(Quene)实例详解
  • 2017-05-28C#缓存之SqlCacheDependency用法实例总结
  • 2017-05-28C#使用iCSharpcode进行文件压缩实现方法
  • 2017-05-28C#如何防止程序多次运行的技巧

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#中Action和Func的区别
    • oledb连接access数据库示例
    • .NET实现父窗体关闭而不影响子窗体的方法
    • C#自定义签名章实现方法
    • C#微信公众平台开发之access_token的获取存储与更新
    • c#打印预览控件中实现用鼠标移动页面功能代码分享
    • c#实现抓取高清美女妹纸图片
    • C# 撒列实现关键字过滤的实例
    • WinForm实现页面按钮定时隐藏功能
    • C# 解析 Excel 并且生成 Csv 文件代码分析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有