使用C#, 我能够访问其名称存储在另一个字符串变量
中的变量的内容例如
string str ="ABCDEFG";
string variable = "str";
这里我可以使用var ????访问字符串str的值
答案 0 :(得分:2)
Dictionary<string,string> myDictionary = new Dictionary<string,string>();
myDictionary["str"] = "ABCDEF";
var valueinstr = myDictionary["str"];
答案 1 :(得分:1)
是的,您可以使用反射。
var fieldInfo = this.GetType().GetField(var);
string theValue = (string) fieldInfo.GetValue(this);
请注意,在您的示例中,var
是一个关键字,因此您无法将其用作变量的名称。
使用反射方法,您将获得描述属性的对象,然后使用它从类的特定实例中检索值。如果您的媒体资源不公开,那么当您获得BindingFlags时,您必须指定正确的PropertyInfo。如果您使用的是示例中的变量,那么您需要检索FieldInfo对象(another example)。