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

ASP.NET
ACCESS数据库访问组件(三)
ACCESS数据库访问组件(四)
在ASP.NET访问Excel文件
使用正则表达式解析的初步体会(固定格式网页解析)
一段找出URL的代码(C#)
C#中的转意字符序列
创建表,创建行,创建列(VB.NET)
刀兄写的IIS管理类(C#)
索引服务调用代码(C#)
VB.NET里奇怪的数组赋值现象
C#运算符的优先顺序
[初学VB.NET]如何防止重复打开MDI子窗体
第二版出错的地方,大家看看第三版我的翻译对么?
VB的API编程精粹
表格架构基本框架DEMO码
用C#实现在客户区拖动窗体(转自MSDN)
在ASP.NET中利用GDI+ 设计Chart控件
关于JAXP,DOM,SAX,JDOM,DOM4J的一些想法
Nucleus.MockAOP.Net:OpenSource .Net AOP FrameWork
VB中打印ACCESS报表

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 144 ::
收藏到网摘: 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
 }.