将默认类型设置为泛型调用方方法C#

本文关键字:方法 方方法 调用 类型 默认 设置 泛型 | 更新日期: 2023-09-27 17:59:33

我需要创建一个返回任何类型的泛型方法。

我的代码如下

//my callee method 
public T getVal<T>(string key)
{
    string result = ConfigurationManager.AppSettings[key].ToString();
    return string.IsNullOrEmpty(result) ? (T)(object)result : default(T);
}
// and my caller's
getval<string>("somekey");
getval<int>("somekey1");
getval<bool>("somekey2")

上面的电话很好。。但是,我的要求是我需要为被调用者方法设置默认类型(例如:字符串)

eg: getval("somekey"); // callee should consider T as string by default and returns string type.
getval<int>("somekey2") //this is a normal call to the same callee which returns int type

将默认类型设置为泛型调用方方法C#

添加此重载实现:

public string GetVal(string key)
{
    return GetVal<string>(key);
}