泛型简化代码量
下是我在项目中通过泛型来简化工作的一个Demo,记录一下:
using System;
using System.Collections.Generic;
namespace MyCollection
{
public class CBase
{
private string id = "CBase";
virtual string Id
{
get { return id; }
set { id = value; }
}
}
class CActor : CBase
{
"CActor";
override return id; }
set { base.Id = value; }
}
string resource;
}
class CBullet : CBase
{
"CBullet";
value; }
}
string effect;
}
class GenericDemo
{
static CBullet MBullet = new CBullet();
static CActor MActor = new CActor();
static Dictionary<string,CBase> dict = new Dictionary<static T GetInfo<T>(string id) where T : CBase
{
CBase mBase;
if (dict.TryGetValue(id,out mBase))
{
return (T)mBase;
}
return null;
}
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代码如下
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。