C#中通过名称获取变量
有没有一种方法只需知道变量的名称即可获取变量的值,如下所示:
double temp = (double)MyClass.GetValue("VariableName");
当我通常像这样访问变量时
double temp = MyClass.VariableName;
Is there a way to get the value of a variable just by knowing the name of it, like this:
double temp = (double)MyClass.GetValue("VariableName");
When I normally would access the variable like this
double temp = MyClass.VariableName;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用反射。例如,如果
PropertyName
是公共属性在MyClass
上并且您有此类的实例,您可以:如果它是公共 field:
当然,您应该意识到反射并不是免费的。与直接属性/字段访问相比,可能会降低性能。
You could use reflection. For example if
PropertyName
is a public property onMyClass
and you have an instance of this class you could:If it's a public field:
Of course you should be aware that reflection doesn't come free of cost. There could be a performance penalty compared to direct property/field access.