C#泛型简化代码量示例
泛型简化代码量
下是我在项目中通过泛型来简化工作的一个Demo,记录一下:
using System;
using System.Collections.Generic;
namespace MyCollection
{
public class CBase
{
private string id = "CBase";
public virtual string Id
{
get { return id; }
set { id = value; }
}
}
public class CActor : CBase
{
private string id = "CActor";
public override string Id
{
get { return id; }
set { base.Id = value; }
}
public string resource;
}
public class CBullet : CBase
{
private string id = "CBullet";
public override string Id
{
get { return id; }
set { base.Id = value; }
}
public string effect;
}
public class GenericDemo
{
public static CBullet MBullet = new CBullet();
public static CActor MActor = new CActor();
public static Dictionary<string, CBase> dict = new Dictionary<string, CBase>();
public static T GetInfo<T>(string id) where T : CBase
{
CBase mBase;
if (dict.TryGetValue(id, out mBase))
{
return (T)mBase;
}
return null;
}
public static void Main(string[] args)
{
//dict = new Dictionary<string, CBase>();
dict.Add("actor", MActor);
dict.Add("bullet", MBullet);
CActor actor1 = GetInfo<CActor>("actor");
CBullet bullet1 = GetInfo<CBullet>("bullet");
Console.WriteLine("T= \"{0}\" ,id={1} \nT= \"{2}\" ,id={3}", actor1.GetType(), actor1.Id, bullet1.GetType(), bullet1.Id);
}
}
}
程序的运行结果
IL代码如下
转载于:https://www.cnblogs.com/zhaoqingqing/p/3953363.html
C#泛型简化代码量示例相关推荐
- 简单来说一下java中的泛型,ssh中dao层使用会简化代码量
原来仅仅是听老师说泛型特别好用,但是后来一直弄android用的泛型就比較少了.但是感觉它真的非常重要,于是花了一下午的时间写了个demo.好,老规矩.上代码: 首先,sysout是个工具,可是用着不 ...
- A__Java为数据结构提供的实用包的运用(减少代码量)---更新中ing
Java为数据结构提供的实用包 一.引言: 学习了近一个学期的Java数据结构,有一个问题让我很头疼,因为数据结构方法的复现需要很长的一段代码 ,而我的学校呢,是一个喜欢考操作以及实践的学校,所以,很 ...
- Java必学的工具库,让你的代码量减少90%
来源:toutiao.com/ i6943239541448917512 1. Java自带工具方法 1.1 List集合拼接成以逗号分隔的字符串 1.2 比较两个字符串是否相等,忽略大小写 1.3 ...
- Java必会的工具库,让你的代码量减少90%
以下文章来源方志朋的博客,回复"666"获面试宝典 工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道.而这些类库早就成为了业界标准类库,大公 ...
- 代码量减少90%,Java程序员必会的工具库
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 工作很多年后,才 ...
- Java 必会的工具库,让你的代码量减少90%
点击关注公众号,回复"1024"获取2TB学习资源! 工作很多年后,才发现有很多工具类库,可以大大简化代码量,提升开发效率,初级开发者却不知道.而这些类库早就成为了业界标准类库,大 ...
- C++数组求和:关于accumulate函数的使用,简化编写代码量的方法
C++数组求和:新手实用技巧,简化编写代码量的方法 使用自带的库函数 accumulate 的方法 首先:accumlate 所在头文件是:<numeric> #include <i ...
- Gson直接将json转list示例 (TypeToken)以及通过内联函数结合reified简化代码
为了演示,我们新建一个简单的数据类Person 数据类Person data class Person(var name: String = "", var age: Int = ...
- 前端面试题----百题大战(超详细哦,包含代码和示例哦,记得一键三连哦,持续更新中ing...)
你在前端开发中使用过哪些框架和库?简要介绍一下它们和它们的优点和缺点. Vue.js:Vue.js 是一个渐进式 JavaScript 框架,它通过组合各种特性和插件,支持更加灵活的功能开发和定制化, ...
最新文章
- 7-2一元多项式的乘法与加法运算
- 【算法数据结构Java实现】Java实现动态规划(背包问题)
- Android图像变化
- eureka服务下线事件监听(自定义处理逻辑)
- eclipse 连接mysql_eclipse连接MySQL
- 阿里云服务器配置开发环境第五章:Centos7.3切换为iptables防火墙
- 全网首秀,我用动画展现Pycharm十大实用技巧
- php 辅助函数,辅助函数 - Laravel 5.8 中文文档手册 - php中文网手册
- 如何防止抓包软件抓取我们网页的信息?
- 影视】100种说爱你的方式~
- jmeter-json提取器提取数据
- SpringBoot2.2.X整合ElasricSearch7.8
- 北理大编程作业:确定母亲节
- 4. Python函数
- SpringCloud 整合 Dubbo
- mes系统和plc通讯案例_MES与PLC实时通信系统研究
- windows无法格式化u盘_u盘无法格式化怎么办 DOS下u盘格式化方法【详解】
- 什么是UI Path?
- Java Web框架play framework的下载与环境变量配置
- OpenAI 推出漏洞赏金计划,最高奖励 2 万美元;京东零售开启 5 年来最大组织变革;​Django 4.2|极客头条