`
totoxian
  • 浏览: 1074561 次
  • 性别: 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

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

大江东去,浪淘尽,

千古风流人物。

故垒西边,人道是,

三国周郎赤壁。

乱石穿空,惊涛拍岸,

卷起千堆屎。

分享到:
评论

相关推荐

    java泛型数组

    4. **谨慎使用泛型数组**:尽管在某些场景下可能需要用到泛型数组,但由于其潜在的风险(如类型擦除),应谨慎考虑是否使用。 通过对 Java 泛型数组的理解及其限制的深入探讨,我们可以更好地掌握 Java 泛型的使用...

    泛型集合与数组应用老师找学生

    在解决“老师找学生”的问题时,我们可能需要用到C#的搜索、排序等算法。比如,可以使用泛型集合的Sort()方法对学生成绩进行排序,或者利用Linq(Language Integrated Query)来筛选出特定条件的学生。此外,数组和...

    C#泛型集合

    8. `LinkedListNode&lt;T&gt;`:这是`LinkedList&lt;T&gt;`中的节点类,通常不需要直接使用,但在需要访问链表内部结构时可能会用到。 了解了这些基础类型后,我们需要掌握如何声明、初始化和操作泛型集合。例如,创建一个`List...

    详细介绍C# 泛型

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

    深入浅析C#泛型类型

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

    反射泛型完美版分页.rar

    在Java中,通常会用到JDBC的Statement或PreparedStatement的setFirstResult和setMaxResults方法来实现分页。 在这个"ReflectSplictPage"实现中,可能采用了以下策略: 1. **泛型接口或类**:定义一个泛型接口或类...

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

    本文将详细介绍如何在C++中进行JSON文件的读写操作,特别是利用只引用头文件的方式,并且提供泛型接口,使得操作更加简便。 首先,我们需要一个C++库来处理JSON,例如nlohmann/json。这个库的特点是仅需包含头文件...

    ListView通用泛型适配器

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

    java基础(多线程,IO,集合,网络编程,泛型)

    本资源包“java基础(多线程,IO,集合,网络编程,泛型)”提供了对Java核心技术的全面介绍,包括五个核心主题:多线程、输入/输出(IO)、集合框架、网络编程和泛型。以下是对这些主题的详细讲解: 1. **多线程**: - ...

    你真的懂Java泛型吗?

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

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

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

    Java泛型的基本应用

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

    实例185 - 使用泛型实现栈结构

    - **编译器设计**:编译器中的符号表管理、语法分析等步骤会用到栈结构。 - **缓存管理**:在LRU(最近最少使用)缓存策略中,可以用栈来维护缓存项的访问顺序。 了解并熟练运用泛型栈有助于提升代码的可读性、可...

    一个简单的Java控制台关于泛型的银行操作系统.rar

    在银行操作系统的控制台实现中,我们可能会用到以下泛型相关的知识点: 1. **泛型类**:创建一个泛型类,如`BankAccount&lt;T&gt;`,其中`T`代表账户余额的类型,可以是整数、浮点数等。这样,我们可以确保所有账户操作都...

    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,可从配置修改

    C++ primer 第十六章 泛型 实现自定义Queue 修改版

    在实现自定义队列时,通常会用到队列的两个基本操作:入队(enqueue)和出队(dequeue)。队列是一种先进先出(FIFO)的数据结构,因此我们需要确保这两个操作符合这个原则。使用模板可以确保我们的队列可以处理任何...

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

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

    实验05 集合类与泛型 实验报告.pdf

    实验中虽然没有直接用到Map,但在实际编程中,Map常用于存储和查找关联数据。 5. **泛型**:泛型是Java 5引入的新特性,允许在类、接口和方法声明中使用类型参数,提高了类型安全性和代码复用。实验中的Store类创建...

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

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

Global site tag (gtag.js) - Google Analytics