最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
.net 里面 protected private 的变量也可以访问
时间:2022-07-02 10:53:47 编辑:袖梨 来源:一聚教程网
通过 原数据可以访问,我是访问后,才发现自己怎么都操作私有字段了呢
参考代码
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)
参考代码
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)