如何通过变量名来读取类的属性值??如:类名.变量名,TextBox.Text就得到了Text的值
若我输入变量名为 Enable 就要吧得到TextBox.Enable的值.请问能做到吗???

解决方案 »

  1.   

    可以,先根据类名获取类对应的Type对象,再用GetField获取相关属性,最后用GetValue获取值
      

  2.   

    我是想for一个string数组,而这个string数组里面的值也是未知的.我就是想通过这数组里的值来作为一个类的属性,来读取一个类的属性.
    比如说:我的数组 {"Text","Enable"}
    我要for这个数组就能取出class的Text与Enable属性的值了
      

  3.   

    public cless StrCless
    {
       private string text ="";
       private bool enable = false;
       public StrCless()
       {}
       public string Text 
       {
        set { this.text = value; }
        get { return this.text;}
       }
       public bool Enable
       {
        set { this.enable = value; }
        get { return this.enable ;}     
       }
       
    }public cless Main()
    {
      public Main()
      {}
      object [] obj = new object[length];
      for ( int i = 0;i < obj.Length;i++ )
      {
         //((StrCless)obj[i]).Text = ?????
          或者
         // string  str = ((StrCless)obj[i]).Text 
       } 
    }
    不就是这样吗?
      

  4.   

    不是你那样,事先不知道要读取Text属性
    string  str = ((StrCless)obj[i]).Text 
    这样就预先知道要读Text值的
      

  5.   

    to runrunrun:
    如果是以下面代码写的字段,用GetFields时,竟然找不到任何的字段,所以GetFidle也是找不到了.
    不知道有什么方法?private string text;
    public string Text 
    {
    set { this.text = value; }
    get { return this.text;}
    }
      

  6.   

    我已经得到结果了
    用GetProperty()可以实现开始提出的目标,谢了
    结贴子