C#泛型类创建与使用的方法
本文实例为大家分享了C#泛型类创建与使用的具体代码,供大家参考,具体内容如下
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication13 { class Program { static void Main(string[] args) { Test<string,int> t = new Test<string,int>("Age",16); t.Run(); t.SetT1Value = "Height"; t.SetT2Value = 1000; t.Run(); Console.ReadKey(); } } class Test<T1,T2> { private T1 _t1; private T2 _t2; public Test(T1 v1,T2 v2) { _t1 = v1; _t2 = v2; } public T1 SetT1Value { set { _t1 = value; } } public T2 SetT2Value { set { _t2 = value; } } public void Run() { Console.WriteLine("The type of T1 is {0},the value is {1}",_t1.GetType().ToString(),_t1); Console.WriteLine("The type of T2 is{0},the value is {1}", _t2.GetType().ToString(), _t2); } } }
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
介绍C# 泛型类在使用中约束
首先看一下泛型的基本语法 访问修饰符 返回类型 泛型方法名 <T>(T 参数) 1):无法在泛型方法内部给任何 T 类型创建实例的对象,因为在泛型方法内部不知道传进来的对象有哪些构造函数2):约束是对内部的!(对于泛型方法)约束也是会被继承的! 3):给泛型类 加类型(引用类型,值类型)的约束:where T:class,new ( ) 遇到的问题:在写MongodbHelper类的时候,为了能处理多种类别,所以如下定义了该类: 复制代码 代码如下: public class MongodbH
-
浅谈c# 泛型类的应用
泛型类泛型类封装不是特定于具体数据类型的操作. 泛型类最常用于集合,如链接列表.哈希表.堆栈.队列.树等. 像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据的类型无关.对大多集合类的操作,推荐使用 .NET Framework 类库中所提供的类.(1)泛型类可以继承具体类.封闭式构造.开放式构造基类. 复制代码 代码如下: class BaseNode { }class BaseNodeGeneric<T> { }// 继承具体类class NodeConcrete<
-
c# 泛型类型参数与约束的深入分析
泛型类型参数简介在定义泛型类型和泛型方法时,常用到泛型类型参数,泛型类型参数是在实例化泛型时指定类型的占位符.泛型类型参数放在"<>"内.泛型类型参数命名建议:(1)当泛型类型参数为单个字母时,建议用T表示.(2)当泛型类型参数用单词定义时,建议在单词前加T. 复制代码 代码如下: private void PromptName<T>(T t) {}private void PromptName<Tuser>(Tuser user){} 泛型类型参数
-
Java泛型类型通配符和C#对比分析
c#的泛型没有类型通配符,原因是.net的泛型是CLR支持的泛型,而Java的JVM并不支持泛型,只是语法糖,在编译器编译的时候都转换成object类型 类型通配符在java中表示的是泛型类型的父类 public void test(List<Object> c) { for(int i = 0;i < c.size();i++) { System.out.println(c.get(i)); } } //创建一个List<String>对象 List<String&g
-
C# 泛型类(函数)的实例化小例子
泛型可以用于类,也可以用于函数.如 泛型类: 复制代码 代码如下: public class MyClass<T> { public T MyElement { get; set; } } 泛型函数: 复制代码 代码如下: public T ReturnElement<T>() { throw new NotImplementedException(); } 但是当需要对MyElement进行实例化的时候,却不能使用new(),只要添加如下代码即可进行实例化了: 泛
-
c#自定义泛型类的实现
闲来无事,自己研究了泛型类的简单的使用,where表示泛型约束,表示泛型类型中的参数只能是car类型,IEnumerable是一个接口,一个集合要支持FOREAch遍历,必须实现IEnumerable接口 复制代码 代码如下: public class Car { public string PetName; public int Speed; public Car(string name, int currentSpeed) {
-
深入解析C#中的泛型类与泛型接口
泛型类 泛型类封装不是特定于具体数据类型的操作.泛型类最常用于集合,如链接列表.哈希表.堆栈.队列.树等.像从集合中添加和移除项这样的操作都以大体上相同的方式执行,与所存储数据的类型无关. 对于大多数需要集合类的方案,推荐的方法是使用 .NET Framework 类库中所提供的类. 一般情况下,创建泛型类的过程为:从一个现有的具体类开始,逐一将每个类型更改为类型参数,直至达到通用化和可用性的最佳平衡.创建您自己的泛型类时,需要特别注意以下事项: 将哪些类型通用化为类型参数. 通常,能够参数化的
-
自定义的Troop<T>泛型类( c++, java和c#)的实现代码
Troop<T>是一个泛型列表操作类,适用于非高性能和非大数据量的要求.包括了:取值get,赋值set,追加append,插入insert,清除remove,进队enqueue,出队dequeue,交换swap,滚动roll,进栈push,出栈pop等日常操作. //for more information, please access http://www.one-lab.net using System; using System.Collections.Generic; using Sy
-
深入浅析C#泛型类型
上篇文章给大家介绍了浅析C# 中的类型系统(值类型和引用类型),接下来通过本文给大家介绍下c# 泛型类型, 说下C#中的泛型,熟练地使用泛型能提高代码的重用性,使用我们代码瞬间就高大上了,当然只有一点点,真的只有一点点,因为后面要学习和掌握的知识还有很多.先来看下一个使用Dictionary<TKey,TValue>的例子. static void Main(string[] args) { Dictionary<int, string> result = GetAll(); }
-
C#泛型类创建与使用的方法
本文实例为大家分享了C#泛型类创建与使用的具体代码,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication13 { class Program { static void Main(string[] args) { Test<string,int> t = new Test<string,i
-
深入理解React中es6创建组件this的方法
首发于:https://mingjiezhang.github.io/. 在JavaScript中,this对象是运行时基于函数的执行环境(也就是上下文)绑定的. 从react中的demo说起 Facebook最近一次更新react时,将es6中的class加入了组件的创建方式当中.Facebook也推荐组件创建使用通过定义一个继承自 React.Component 的class来定义一个组件类.官方的demo: class LikeButton extends React.Component
-
JQuery创建DOM节点的方法
本文实例讲述了JQuery创建DOM节点的方法.分享给大家供大家参考.具体分析如下: 用JQuery选择器能够快捷而轻松地查找到文档中的某个特定的元素节点,然后可以用attr()方法来获取元素的各种属性的值.但真正的DOM操作并非这么简单.在DOM操作中,常常需要动态创建HTML内容,使文档在浏览器里的呈现效果发生变化,并且达到各种各样的人机交互的目的. HTML DOM结构如下: <p class="nm_p" title="欢迎访问我们" >欢迎访问
-
删除javascript所创建子节点的方法
本文实例讲述了删除javascript所创建子节点的方法.分享给大家供大家参考.具体如下: js创建的节点,一时不知道如何删除...耗了一大堆时间 for(var i = 0; i < jsonList.length; i++ ){ var li_button = document.createElement("li"); li_button.className = "button"; var li_button_a = document.createElem
-
AngularJS基于factory创建自定义服务的方法详解
本文实例讲述了AngularJS基于factory创建自定义服务的方法.分享给大家供大家参考,具体如下: 为什么要创建自定义服务? 很简单,不想让控制器显得过于"臃肿",而且服务可复用.针对性强,每个服务对应不同的功能. 这里介绍如何使用factory创建自定义服务,并且使用他. 例子1: <!--HTML--> <div ng-controller="showTheName"> <h1 ng-bind="name"
-
AngularJS创建自定义指令的方法详解
本文实例讲述了AngularJS创建自定义指令的方法.分享给大家供大家参考,具体如下: 这是一篇译文,来自angular开发者说明的指令.主要面向已经熟悉angular开发基础的开发者.这篇文档解释了什么情况下需要创建自己的指令,和如何去创建指令. 什么是指令 从一个高的层面来讲,指令是angular $compile服务的说明,当特定的标签(属性,元素名,或者注释) 出现在DOM中的时候,它让编译器附加指定的行为到DOM上. 这个过程是很简单的.angular内部有很用这样自带的指令,比如说n
-
通过命令行创建vue项目的方法
最近想要学习vue,正好看到资料,如何通过命令创建vue项目的方法,就留个笔记 环境要求: 安装有 Node.js. vue.vue-cli . 创建项目: vue init webpack projectName 进入项目,下载依赖: npm install 或者 cnpm install 运行项目: npm run dev 效果如下: 创建项目 进入项目,下载依赖 启动项目 浏览器查看效果 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.
-
Angular 4根据组件名称动态创建出组件的方法教程
一.理解angular组件 组件是一种特殊的指令,使用更简单的配置项来构建基于组件的应用程序架构,这样他能简单地写app,通过类似的web Component 或者angular2的样式.web Component 是一个规范.马上就要成为标准. 应用组件的优点: 比普通指令配置还简单 提供更好的默认设置和最好的实践 对基于组建的应用架构更优化. 对angular2的升级更平滑. 不用组建的情况: 对那些在 compile或者pre-link阶段要执行操作的指令,组件不能用,因为无法到达那个阶段
-
C#动态创建button按钮的方法实例详解
C#动态创建button按钮的方法实例详解 C#编程中经常需要动态创建,本文主要介绍C#动态创建button按钮的方法,涉及C#按钮属性动态设置的相关技巧,以供借鉴参考.具体实现方法如下: 例子: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.T
-
Java中数组的创建与传参方法(学习小结)
(一)数组的创建 数组的创建包括两部分:数组的申明与分配内存空间. int score[]=null; //申明一维数组 score=new int[3]; //分配长度为3的空间 数组的申明还有另外一种方式: int[] score=null; //把中括号写在数组名前面 通常,在写代码时,为了方便,我们将两行合并为一行: int score[]=new int score[3]; //将数组申明与分配内存写在一行 (二)传递参数 由于初学java,这里只讨论值传递,不考虑地址传递.主要有3点
随机推荐
- 在Ruby on Rails中使用AJAX的教程
- 检查素数的正则表达式分享
- 在Oracle中导入dmp文件的方法
- php使用curl抓取qq空间的访客信息示例
- 详解Django缓存处理中Vary头部的使用
- C++初始化列表学习
- MySql5.6使用validate password 插件加强密码强度的安装及使用方法
- Fatal: the Postfix mail system is already running 解决办法
- Android Mms之:草稿管理的应用
- 页面定时刷新(1秒刷新一次)
- PHP读取文件并可支持远程文件的代码分享
- 如何优化SQL语句的心得浅谈
- php中adodbzip类实例
- 悬念音乐程序安装程序写马(图)
- Android ListView里控件添加监听方法的实例详解
- 一个可以删除字符串中HTML标记的PHP函数
- 交换的类型
- Android编程双重单选对话框布局实现与事件监听方法示例
- angularjs select 赋值 ng-options配置方法
- Springboot实现密码的加密解密