------------------
前言
------------------
反射性能实在是太恶劣,在通讯系统、数据库系统中已经无法忍受了。于是我在codeproject上找到一篇使用DynamicMethod的替代方法。http://www.codeproject.com/KB/cs/Dynamic_Code_Generation.aspx
可是作者实在也太简陋了,目前仅支持FIeld / Property,于是我扩展了。
1.支持FIeld / 带参数Constructor / Property / Index
2.操作过程和反射过程一摸一样。
------------------
代码测试结果
------------------
测试对象:
class SomeClass
{
public int name;
public string sname;
public SomeClass()
{
}
public SomeClass(string name)
{
this.sname = name;
}
public int Name
{
get { return name; }
set { name = value; }
}
public string Sname
{
get { return sname; }
set { sname = value; }
}
public string this[int index, string name, int a, int b, string c, double d]
{
get
{
return index.ToString() + name;
}
set
{
}
}
}
{
public int name;
public string sname;
public SomeClass()
{
}
public SomeClass(string name)
{
this.sname = name;
}
public int Name
{
get { return name; }
set { name = value; }
}
public string Sname
{
get { return sname; }
set { sname = value; }
}
public string this[int index, string name, int a, int b, string c, double d]
{
get
{
return index.ToString() + name;
}
set
{
}
}
}