有没有办法使此方法通用,以便我可以返回字符串,bool,int或double?现在,它正在返回一个字符串,但是如果能够找到“true”或“false”作为配置值,那么我想返回一个 bool 值。
public static string ConfigSetting(string settingName)
{
return ConfigurationManager.AppSettings[settingName];
}
最佳答案
您需要使其成为通用方法,如下所示:
public static T ConfigSetting<T>(string settingName)
{
return /* code to convert the setting to T... */
}
但是调用者将必须指定他们期望的类型。然后,您可以潜在地使用
Convert.ChangeType
,前提是支持所有相关类型:public static T ConfigSetting<T>(string settingName)
{
object value = ConfigurationManager.AppSettings[settingName];
return (T) Convert.ChangeType(value, typeof(T));
}
请注意,我并不完全相信这是个好主意...