小编典典

如何使方法的返回类型通用?

c#

有没有办法使此方法通用,以便我可以返回字符串,bool,int或double?现在,它正在返回一个字符串,但是如果能够找到“ true”或“
false”作为配置值,那么我想返回一个布尔值。

    public static string ConfigSetting(string settingName)
    {  
         return ConfigurationManager.AppSettings[settingName];
    }

阅读 259

收藏
2020-05-19

共1个答案

小编典典

您需要使其成为通用方法,如下所示:

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));
}

我不完全相信这是个好主意,请注意…

2020-05-19