有可能写出类似的结构吗?
我想以某种方式为t类型的参数设置默认值。
private T GetNumericVal<T>(string sColName, T defVal = 0)
{
string sVal = GetStrVal(sColName);
T nRes;
if (!T.TryParse(sVal, out nRes))
return defVal;
return nRes;
}
另外,我发现了以下链接:
Generic type conversion FROM string
我想,这个密码一定有用
private T GetNumericVal<T>(string sColName, T defVal = default(T)) where T : IConvertible
{
string sVal = GetStrVal(sColName);
try
{
return (T)Convert.ChangeType(sVal, typeof(T));
}
catch (FormatException)
{
return defVal;
}
}
最佳答案
我没有试过,但将T defVal = 0
改为T defVal = default(T)
关于c# - 通用方法和可选参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9890413/