当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .net 里面 protected private 的变量也可以访问

ASP.NET
Asp.Net 通用数据操作类 (附通用数据基类)
asp.net汉字转拼音和获取汉字首字母的代码
asp.net 多字段模糊查询代码
OpenCms 带分页的新闻列表
URLRewriter最简单入门介绍 URLRewriter相关资源
asp.net Repeater取得CheckBox选中的某行某个值
asp.net清空Cookie的两种方法
asp.net一些很酷很实用的.Net技巧
asp.net生成高质量缩略图通用函数(c#代码),支持多种生成方式
asp.net TripleDES加密、解密算法
Asp.net中防止用户多次登录的方法
asp.net Repeater取得CheckBox选中的某行某个值的c#写法
asp.net DataGridView导出到Excel的三个方法[亲测]
C#,winform,ShowDialog,子窗体向父窗体传值
asp.net学习中发现的比较完整的流程
ASP.net 页面被关闭后,服务器端是否仍然执行中?
asp.net Context.Handler 页面间传值方法
asp.net xml序列化与反序列化
asp.net实例代码protected override void Render(HtmlTextWriter writer)
asp.net(c#)捕捉搜索引擎蜘蛛和机器人

ASP.NET 中的 .net 里面 protected private 的变量也可以访问


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 182 ::
收藏到网摘: n/a

通过 原数据可以访问,我是访问后,才发现自己怎么都操作私有字段了呢

参考代码

public class L3Data : System.ComponentModel.Component
 {
  private System.ComponentModel.Container components = null;
        private  Page _page;
  private  ArrayList LiteralList = new ArrayList();
  public L3Data(System.ComponentModel.IContainer container)
  {
   container.Add(this);
   InitializeComponent();
  }

  public L3Data()
  {
  
   InitializeComponent();
  }
  protected override void Dispose( bool disposing )
  {
   if( disposing )
   {
    if(components != null)
    {
     components.Dispose();
    }
   }
   base.Dispose( disposing );
  }
        #region 组件设计器生成的代码
  private void InitializeComponent()
  {
   components = new System.ComponentModel.Container();
  }
  #endregion
  #region Property
  public Page Page
  {
   get{return this._page;}
   set
   {  
    this._page = value;
    Type type = _page.GetType();
    type = type.BaseType;
    System.Web.UI.WebControls.Literal literal = new Literal();
    System.Reflection.FieldInfo[] fields = type.GetFields(BindingFlags.NonPublic|(BindingFlags.Static | BindingFlags.Instance));
    foreach(System.Reflection.FieldInfo field in fields)
    {
     if(field.FieldType.Equals(literal.GetType()))
      this.LiteralList.Add(field);
    }
    int count =0;
    foreach(FieldInfo field in this.LiteralList)
    {
     count++;
     object obj = field.GetValue(this.Page);
        literal = (Literal)obj;
     if(literal.Text.Equals("wx"))
      literal.Text ="I can see you";
     else
     {
      literal.Text="wangxing"+count.ToString();
     }
    }
   }
  }
  #endregion
 }.