我有存储在我的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 = MySettings.GetType()
.GetProperty("NAME_OF_THAT_THING")
.GetValue(MySettings, null); //replace MySettings with null in GetValue(...) if MySettings is a static class
所有您需要做的是:
String propertyValue = Settings.Default["NAME_OF_THAT_THING"].ToString();
虽然使用反射显然会工作,这是矫枉过正。
您是否尝试过使用ConfigurationManager.AppSettings财产 ? 您应该能够通过下面的代码,让您的设置:
String propertyValue = ConfigurationManager.AppSettings["NAME_OF_THAT_THING"];
MSDN文章为ConfigurationManager.AppSettings还包括用于通过索引通过所有条目中的AppSettings循环,而不是名称的例子。
答案原单海报的问题是这样的:MySettings [NAME_OF_THAT_THINGmysettings]确实像原来职位的工作
但是,对于那些人寻找答案,在他们的Windows应用程序中使用内置的设置:myAppDefaultNameSpace.Properties.Settings.Default [NAME_OF_THAT_THINGmysettings]是要走的路