VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Objective-C编程 >
  • c#反射性能的测试

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
  using System;
  
  using System.Collections.Generic;
  
  using System.Linq;
  
  using System.Web;
  
  using System.Web.UI;
  
  using System.Web.UI.WebControls;
  
  using System.Reflection;
  
  public partial class Default2 : System.Web.UI.Page
  
  {
  
  protected void Page_Load(object sender, EventArgs e)
  
  {
  
  reflect r = new reflect();
  
  r.name = "ao";
  
  DateTime d1 = DateTime.Now;
  
  Response.Write("开始时间:"+d1.ToString("yyyy-MM-dd HH:mm:ss:ffff")+"<br>");
  
  for (int i = 1; i <= 10000000; i++)
  
  {
  
  de(r); //反射赋值
  
  //de2(r); //无反射赋值
  
  }
  
  DateTime d2 = DateTime.Now;
  
  Response.Write(d2.ToString("结束时间:" + "yyyy-MM-dd HH:mm:ss:ffff") + "<br>");
  
  TimeSpan ts = d2 - d1;
  
  Response.Write("时间差:" + ts.Milliseconds.ToString());
  
  }
  
  public void de(object o) {
  
  System.Type t = o.GetType(); //得到类
  
  t.GetProperty("name").SetValue(o, "de", null); //设置类对象属性值
  
  }
  
  public void de2(reflect o) {
  
  o.name = "de2";
  
  }
  
  }
  
  public class reflect{
  
  private string _name;
  
  public string name {
  
  set {
  
  _name = value;
  
  }
  
  get {
  
  return _name;
  
  }
  
  }
  
  }
  可以看出,反射对直接调用性能上要低上百甚至几百倍
 


相关教程