我想设置一个变量值,知道它的名字是是个字符串,例如:
//JAVASCRIPT version
myObj["varName"] = someValue;
我在stackoverflow.com看了一些问答,找到如下解决方案:
// C# version
myObj.GetType ().GetProperty ("varName").SetValue (myObj, someValue, null);
尽管我清楚地看到class有着正确名字的公共变量,但这个编译给出了一个NullReference异常。
我刚开始学习C#,可能有什么地方出错了吧,请大家帮忙指出错误的地方,感谢。
JaredPar:
根据你的描述 myVar是一个字段,因此你需要使用GetField 而不是 GetProperty。
Georgi-it:
如果变量是个字段,则应该使用如下技巧:
如果是属性: