+ -
当前位置:首页 → 问答吧 → 一个类的属性,我们可以通过 对象.属性=“属性值”; 对属性进行赋值, 可是,要是我知道这个对象,还知道一个变量,这个变量的值就是这个对象的属性名,怎么进

一个类的属性,我们可以通过 对象.属性=“属性值”; 对属性进行赋值, 可是,要是我知道这个对象,还知道一个变量,这个变量的值就是这个对象的属性名,怎么进

时间:2011-12-07

来源:互联网

一个类的属性,我们可以通过 对象.属性=“属性值”; 对属性进行赋值, 可是,要是我知道这个对象,还知道一个变量,这个变量的值就是这个对象的属性名,怎么进行对属性赋值操作呢?

作者: niit_yi   发布时间: 2011-12-07

对象.属性= 变量名

作者: net_lover   发布时间: 2011-12-07

class cls=new class();
string str=cls.name;
cls.name=str;
你说的是这个问题?


class cl=new class();
string str=cls.shuxing.name;
cls.shuxing=str.toshuxing();
还是这个问题?
"这个变量的值就是这个对象的属性名"是属性的名还是属性的值?

作者: MKing0412   发布时间: 2011-12-07

C# code

    class Test
    {
        public int testValue;
    }
    class Program
    {
        static void Main(string[] args)
        {
            Test test = new Test();
            Type testType = typeof(Test);
            var field = testType.GetField("testValue");
            field.SetValue(test, 39);

        }
    }


这种感觉?

作者: k0mmDu   发布时间: 2011-12-07

用反射,看3楼

作者: bdmh   发布时间: 2011-12-07

属性的话,反射 PropertyInfo

  object obj = Activator.CreateInstance(typof(yourClassName));
  Type type = typof(yourClassName);
  PropertyInfo[] piArr = type.GetProperty("Name"); //GetProperty 此方法有重载
  pi.SetValue(this,"value", null));
 

作者: Sandy945   发布时间: 2011-12-07

用反射

作者: zllqjf   发布时间: 2011-12-07

我也想知道

作者: MATLABLINGO11   发布时间: 2011-12-07

Type t= new 类().GetType();
 PropertyInfo pro = t.GetProperty("属性名");

作者: LYD690962514   发布时间: 2011-12-08