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

ASP.NET
给Asp.Net初学者的关于继承和多态性的例子
新手入门:C++下的引用类型
初学者的福音:游戏开发新手入门指南
C/C++中利用空指针简化代码,提高效率
获取转向地址的URL的源文件(可自定义REFER)
asp.net中执行存储数据操作时数据被自动截取的一种情况
.NET中防止Access数据库下载
vs.Net2003无法打开或创建Web应用程序若干解决办法.
我今天开始正式学习.net遇到的问题
无法在Web服务器上启动调试。未将项目配置为进行调试
找不到类型或命名空间名称“Server”(是否缺少 using 指令或程序集引用?)
ASP.NET页面间的传值的几种方法
几个ASP.NET技巧
让Asp.NET的DataGrid可排序、可选择、可分页
web.config文件的中文解释
用DataReader还是DataSet?
ASP.NET中数据库操作初步
ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别
如何在DataGrid控件中实现自定义分页
ADO.NET 的最佳实践技巧

ASP.NET 中的 .net 里面 protected private 的变量也可以访问(新发现)。


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