我在我的 AppConfig 中存储了一些属性,现在我想动态地访问它们(例如,在循环或函数中访问)。
使用 MySettings.NAME_OF_THAT_THING 访问值是没有问题的,但如果名称是可变的呢?
我尝试过:
String propertyValue = MySettings.GetType().GetProperty("NAME_OF_THAT_THING").ToString();
但是我只收到了属性的名称,我该怎么办?
我在我的 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
回答原帖问题的方法如下: MySettings [NAME_OF_THAT_THINGmysettings] 就像之前的帖子一样完成了任务。
然而,对于那些想要使用内置设置的 Windows 应用程序的人来说: myAppDefaultNameSpace.Properties.Settings.Default [NAME_OF_THAT_THINGmysettings] 是正确的方法。
你尝试过使用ConfigurationManager.AppSettings属性吗?你可以通过以下代码获取设置:
String propertyValue = ConfigurationManager.AppSettings["NAME_OF_THAT_THING"];
MSDN的ConfigurationManager.AppSettings文章还包括一个示例,通过索引而不是名称循环遍历所有AppSettings条目。
MySettings("NAME_OF_THING")
... - Chris