从“设置”中获取动态属性
本文关键字:获取 动态 属性 设置 | 更新日期: 2023-09-27 18:36:58
我的AppConfig中存储了一些属性,现在我想动态访问它们(例如在循环或函数中)。
使用 MySettings.NAME_OF_THAT_THING 访问值没有问题,但如果名称是可变的怎么办?
我试过了:
String propertyValue = MySettings.GetType().GetProperty("NAME_OF_THAT_THING").ToString();
但我唯一得到的是物业的名称。我该怎么做?
您
需要做的就是:
String propertyValue = Settings.Default["NAME_OF_THAT_THING"].ToString();
虽然使用反射显然会起作用,但它是矫枉过正的。
String propertyValue = MySettings.GetType()
.GetProperty("NAME_OF_THAT_THING")
.GetValue(MySettings, null); //replace MySettings with null in GetValue(...) if MySettings is a static class
您是否尝试过使用 ConfigurationManager.AppSettings 属性? 您应该能够通过以下代码获取您的设置:
String propertyValue = ConfigurationManager.AppSettings["NAME_OF_THAT_THING"];
有关 ConfigurationManager.AppSettings 的 MSDN 文章还包括一个示例,用于按索引(而不是名称)循环遍历 AppSettings 中的所有条目。
对
原始海报问题的回答是这样的:MySettings[NAME_OF_THAT_THINGmysettings]像上一篇文章一样完成工作
但是,对于那些在Windows应用程序中寻找使用内置设置答案的人:myAppDefaultNameSpace.Properties.Settings.Default[NAME_OF_THAT_THINGmysettings]是要走的路