学院首页>网络编程>ASP.NET>.net 里面 protected private 的变量也可以访问

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

作者: 来源: 添加时间:2006-5-25 20:17:51

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

参考代码

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
 }.


站内搜索