我正在访问此变量Der
,我可以通过本地_der
获取或设置该变量。
SetValues
获取要更改的参数的字符串名称(以及应将本地列表设置为的列表)
该字符串附带“全局”数据存储名称,我将其更改为本地(Der-> _der)。
现在,我如何在SetValues
中将字符串名lParam
“转换”为我想要设置的实际本地参数?
希望你明白并且可以提供帮助
[Subscribe]
public StorableList<double> Der{
get{return _der;}
set{_der = value;}
}
public static string ConvertToLocalParameter(string input) {
if (String.IsNullOrEmpty(input)) {
throw new ArgumentException("ARGH");
}
return "_" + char.ToLower(input[0]) + input.Substring(1);
}
public void SetValues(string listName, StorableList<double> values) {
string lParam = ConvertToLocalParameter(listName);
}
private StorableList<double> _der;
答案 0 :(得分:0)
如果我理解你是正确的(这是java),你可以使用反射
Field field = MyClass.class.getDeclaredField(lParam);
field.set(this, values);
但如果您只有有限数量的此类值,您可以在方法中使用一些if来设置值
编辑:如果是C#,您可以阅读Reflection in C#