介绍一下c#中的RTTI,比如把一个string转换为控件的ID

babyboy 2003-08-29 04:42:04
如上
...全文
254 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnhgj 2003-08-30
  • 打赏
  • 举报
回复
是不是像js的document.all["dd"].innerText = "ddd";?
.net中可以用FindControl("dd").Text = "ddd";
xixigongzhu 2003-08-30
  • 打赏
  • 举报
回复
楼主的意思可能是想从String得到一个控件的访问名字,从而来访问这个控件。

如果是Web环境,可以用FindControl(string id)方法来得到一个控件。

如果是Winform环境,可以用this.GetType().GetField(string id),这个this是定义这个控件的父控件,比如form下定义了一个textbox1,可以这样得到:
FieldInfo fi = this.GetType().GetField("textbox1");
TextBox tbox = (TextBox) fi.GetValue(this);
xixigongzhu 2003-08-30
  • 打赏
  • 举报
回复
这样:
假如这个控件的父控件是当前页,那么:
((TextBox) this.FindControl("dd")).Text = "ddd";
timmy3310 2003-08-29
  • 打赏
  • 举报
回复
.Net的Runtime信息与C++是不一样的,类型信息放在组件的Metadata中

对于程序来说,可以通过Type.GetType("type name")来获取类型信息,对于实际的对象,可以调用System.Object实现的GetType方法得到对象的类型信息
也就是说任何对象,都可以通过obj.GetType()来获知它的类型信息,然后通过反射技术,可以得到该类型的基类、实现的接口、属性、方法等,也可以通过方法或者属性名称在该对象上进行调用。

这方面的内容比较多,你可以先看看MSDN中System.Reflection命名空间的部分来了解反射,有什么具体问题再提出来

对于你说的把string转换为控件ID,我不太明白
本文深入探讨了C#编程的私有、保护、公共、内部访问权限,ASP.NET页面间参数传递方法,委托与事件机制,重载与重写区别,B/S系统变量传递方案,索引器实现,三层架构设计,应用程序域概念,CTS、CLS、CLR解释,装箱与拆箱原理,受管制代码与强类型系统,读写数据库类应用,ASP.NET身份验证方式,Code-Behind技术,配件与程序集区别,Web服务与远程调用工作原理,C#的字符串null与区别,类与结构异同,代码实现与SQL查询语句,.NET框架下remoting与webservice技术对比,ListView组件排序功能实现,SQL语句获取最后更新事务号,面向对象特性,foreach遍历条件,GC机制与内存管理,String对象创建,线程启动与停止方法,接口继承与实现,构造器重写,String类继承可能性,try-finally-finally代码执行顺序,equals与hashcode一致性,switch语句作用范围,线程同步机制,异常处理与错误处理机制,HTML页面功能实现,ASP.NET服务器控件生命周期,匿名内部类使用限制,静态嵌套类与内部类区别,位运算与逻辑运算符区别,HashMap与Hashtable区别,方法重载与返回类型改变,error与exception区别,%#与%%区别,ListView组件排序功能实现,WSE及其最新版本,抽象类与接口区别,C#索引器实现与任意类型索引,字符串null与区别,继承System.Windows.Forms.ListView类组件特殊功能实现,WSE概念与版本,抽象类与接口的声明方法与行为定义,C#索引器实现与任意类型索引,字符串null与区别,继承System.Windows.Forms.ListView类组件特殊功能实现,WSE概念与版本,抽象类与接口的声明方法与行为定义,C#索引器实现与任意类型索引,字符串null与区别,继承System.Windows.Forms.ListView类组件特殊功能实现,WSE概念与版本,抽象类与接口的声明方法与行为定义,C#索引器实现与任意类型索引,字符串null与区别,继承System.Windows.Forms.ListView类组件特殊功能实现,WSE概念与版本,抽象类与接口的声明方法与行为定义,C#索引器实现与任意类型索

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧