`
totoxian
  • 浏览: 1032506 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

我终于用到了泛型

阅读更多

我终于用到了泛型

左直拳

泛型是。NET20出现的新东西。惭愧,30已经出了很久了,可我现在才开始用。落后啊落后,简直屎一堆。

delegate void SetEnableCallback(System.Windows.Forms.Control objCtrl, bool enable);

//声明

private void _SetText<TObject>(TObject objCtrl, string text)

where TObject : System.Windows.Forms.Control

{

if (objCtrl.InvokeRequired)

{

SetTextCallback d = new SetTextCallback(_SetText);

this.Invoke(d, new object[] { objCtrl, text });

}

else

{

objCtrl.Text = text;

}

}

//调用

public int TotalNum

{

set { _SetText<TextBox>(this.txt_Total, value.ToString()); }

}

在声明里面,之所以要限定TObject的类型为窗体控件

where TObject : System.Windows.Forms.Control

是因为不如此,就无法使用象objCtrl.InvokeRequired这些只有窗体控件才会用到的语句。

本来我象是限定为TextBoxButton类型的,语句如下:

private void _SetText<TObject>(TObject objCtrl, string text)

where TObject : TextBox,Button

但这样始终编译不过去,说是一山不容二虎,类类型只能排在前面,将TextBox排在前面,说Button错;将Button排在前面,说TextBox错。真不知道为什么会有这样的规定。最后只好将它们限定为父类型:Control

泛型的好处是可以写出适应性极好的代码。据说效率很高,没有类型转换、装箱拆箱带来的性能损失。

大江东去,浪淘尽,

千古风流人物。

故垒西边,人道是,

三国周郎赤壁。

乱石穿空,惊涛拍岸,

卷起千堆屎。

分享到:
评论

相关推荐

    详细介绍C# 泛型

    在C#开发中,必不可少的要用到泛型。泛型是.NET2.0版本就有的,它广泛应用于C#框架中容器的使用中。下面我们来详细介绍一下。  一、泛型的主要优势  1.性能更高。  2.类型更安全。  3.代码更多的重用和扩展性。 ...

    c++ json文件读写操作,只需头文件,泛型操作

    c++ json读写文件,可扩展接口 使用只需要引用头文件即可,泛型接口,操作简单,可用于配置文件读写

    深入浅析C#泛型类型

    上篇文章给大家介绍了浅析C# 中的类型系统(值类型和引用类型),接下来通过本文给大家介绍下c# 泛型类型, 说下C#中的泛型,熟练地使用泛型能提高代码的重用性,使用我们代码瞬间就高大上了,当然只有一点点,真的...

    java增删改查JDBC封装类(泛型封装)

    java增删改查JDBC封装类(泛型封装),这个是高度封装化的,增删改查,直接用到我的项目中去的。

    ListView通用泛型适配器

    有一种适配器写法,可以做到一个适配器与多种类型数据和布局进行适配,这个东西叫做通用适配器(因为他是用到泛型实现的,我称他为泛型适配器),今天我们来看一下这种适配器的写法: 在写之前呢,我们首先回忆一下...

    你真的懂Java泛型吗?

    在平常写代码用到泛型时,仿佛一切都来得如此理所当然。但其实Java泛型还是有挺多tricky的东西的,编译器在背后为我们做了很多事。下面我们来看看有关Java泛型容易忽视的点。  泛型不支持协变  什么是协变?举个...

    List泛型和DataSet

    在开发中经常会要用到list和dataset

    .net 中datatable与list泛型实体对象的互相转换

    非常方便的datatable类型与List泛型实体对象集合的互相转换,在面向对象的开发中,经常会用到的,如使用上不懂可以咨询我

    Java泛型(一)

    今天学习Java泛型技术,这个在平时里用的也很多但在我在工作中用到深处的可能并不是很多,定义泛型类也很少用到的基本就是用到集合中写泛型。但是作为学习还是要多学一些基本理论性的东西,对比较深的东西理解起来...

    Java泛型的基本应用

     在程序中,只要用到了带有&lt;&gt;的类或者接口,要明确传入的具体引用数据类型。  泛型技术是给编译器使用的技术,用于编译时期。确保了类型的安全。  运行时,会将泛型去掉,生成的class文件中是不带泛型的,...

    JDK 1.5的泛型實現(Generics in JDK 1.5)

    JDK 1.5的泛型實現(Generics in JDK 1.5) 1 侯捷觀點 JDK 1.5的泛型實現 — Generics in JDK 1.5 — 北京《程序員》 2004/09 台北《Run!PC》2004/09 作者簡介:侯捷,資訊教育、專欄執筆、大學教師...

    C#做的一个类似挖地雷的游戏

    我自己用C#做的一个类似挖地雷的...类似VS2010工具箱的效果...)也用到泛型集合,oop的思想,线程,刚刚学,自己没事做的,欢迎给点意见,(qq:1578741102)源代码就免费附送了,管理员密码15255112050,可从配置修改

    java泛型方面的,用到了集合框架的知识,List,Set

    我写了六个文件,有写成文章。上传资源是为了方便一点,代码的作用是,允许有多个用户,一个用户循序有多个账户。具体的题目的话是这个:①将类结构以代码形式表示,并对方法和构造器提供合理的实现;②使用...

    c# in depth的泛型实现实例代码

    主要介绍了c# in depth的泛型实现实例代码,学C#的同学一定会用到泛型实现的,这里我们提供了泛型实现的程序代码,大家参考使用

    vb.net泛型在循环中删除对象__继续循环的方法

    vb.net泛型在循环中删除对象__继续循环的方法, 在现实中比较常用到的。

    编写高质量代码改善C#程序——使用泛型集合代替非泛型集合(建议20)

    软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的优缺点。如何使用好集合是我们在开发过程中必须掌握的技巧。不要小看这些技巧,一旦在开发中使用了...

    酒店管理系统asp.net

    asp.net做得酒店管理系统,出学者可以下载学习,有很多号东西得哦,用到泛型和webservice

    C#做的类似挖地雷游戏(碰碰运气)

    我自己用C#做的一个类似挖地雷的游戏,适合C#初学者参考一下,保存信息是序列化的不是数据库,也用到了ListView和DataGridView,也用到泛型集合,oop的思想,刚刚学,自己没事做的,欢迎给点意见,(qq:1578741102...

    一看就懂 详解JAVA泛型通配符T,E,K,V区别

    泛型从字面上理解,是指一个类、接口或方法支持多种类型,使之广泛化、一般化和更加通用。通配符只有在修饰一个变量时会用到,使用它可方便地引用包含了多种类型的泛型;下面我们来深入了解一下吧

    XML排序.rar

    对一个XML内容进行排序,用到泛型知识,核心代码 arrNode.Sort(delegate(XmlNode x, XmlNode y) { int id1 = int.Parse(x.Attributes["id"].Value); int id2 = int.Parse(y.Attributes["id"].Value); return id1...

Global site tag (gtag.js) - Google Analytics