9

我的 AppConfig 中存储了一些属性,现在我想动态访问它们(例如在循环或函数中)。

使用 MySettings.NAME_OF_THAT_THING 访问值没有问题,但是如果名称是可变的呢?

我试过了:

String propertyValue = MySettings.GetType().GetProperty("NAME_OF_THAT_THING").ToString();

但我得到的唯一信息是该物业的名称。我怎样才能做到这一点?

4

4 回答 4

9

您需要做的就是:

String propertyValue = Settings.Default["NAME_OF_THAT_THING"].ToString();

虽然使用反射显然会起作用,但它是矫枉过正的。

于 2012-06-12T12:57:33.887 回答
8
String propertyValue = MySettings.GetType()
.GetProperty("NAME_OF_THAT_THING")
.GetValue(MySettings, null); //replace MySettings with null in GetValue(...) if MySettings is  a static class
于 2012-06-12T12:50:46.880 回答
0

对原始海报问题的回答如下: MySettings[NAME_OF_THAT_THINGmysettings] 像以前的帖子一样工作

但是,对于那些在他们的 Windows 应用程序中寻找使用内置设置的答案的人:myAppDefaultNameSpace.Properties.Settings.Default[NAME_OF_THAT_THINGmysettings] 是要走的路

于 2014-08-11T22:56:00.073 回答
0

您是否尝试过使用ConfigurationManager.AppSettings 属性?您应该能够通过以下代码获取您的设置:

String propertyValue = ConfigurationManager.AppSettings["NAME_OF_THAT_THING"];

ConfigurationManager.AppSettings 的 MSDN 文章还包括一个示例,用于按索引而不是名称遍历 AppSettings 中的所有条目。

于 2012-06-12T12:53:46.257 回答