当前位置:编程学习 > C#/ASP.NET >>

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

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

参考代码

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


上一个:.Net远程方法调用研究
下一个:让你的.NET程序兼容不同版本的Dll文件

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,