Есть ли способ получить значение переменной, просто зная ее имя, например:
double temp = (double)MyClass.GetValue("VariableName");
Когда я обычно обращался к такой переменной
double temp = MyClass.VariableName;
Есть ли способ получить значение переменной, просто зная ее имя, например:
double temp = (double)MyClass.GetValue("VariableName");
Когда я обычно обращался к такой переменной
double temp = MyClass.VariableName;
Вы можете использовать отражение. Например, если PropertyName
является общедоступным свойством на MyClass
и у вас есть экземпляр этого класса вы можете:
MyClass myClassInstance = ...
double temp = (double)typeof(MyClass).GetProperty("PropertyName").GetValue(myClassInstance, null);
Если это общедоступное поле:
MyClass myClassInstance = ...
double temp = (double)typeof(MyClass).GetField("FieldName").GetValue(myClassInstance);
Конечно, вы должны знать, что отражение не бесплатно. Может быть снижение производительности по сравнению с прямым доступом к свойству/полю.