目前正在创建功能我有以下功能与通用返回类型
public int GetVariableValue(TaxReturn taxReturnObj, string identityKey)
{
int returnTypeOut = 0;
if (taxReturnObj.Identity.ContainsKey(identityKey))
{
int.TryParse(taxReturnObj.Identity[identityKey], out returnTypeOut);
}
return returnTypeOut;
}
检索我们使用下面的代码值,
例如
int valPayStatus = GetVariableValue(objTaxretrun, TaxReturnIdentity.aadata_identity_paystatus)
现在是工作的罚款,直到为所有身份值分别是整数,但最近我们增加了与字符串和布尔类型的新Identites。 所以我想使上述功能为通用 ...但我不知道如何去做,我试图搜索谷歌,但找不到任何东西。
“我试图在谷歌上搜索,但没有找到任何东西”谷歌去世了吗?!检查...一切都很好,它可以找到[this]这样的东西(http://blog.kjeldby.dk/2009/06 /使用泛型方法和约束/) – Reniuz
我会去不同的方法:GetVariableValueAsInt,GetVariableValueAsString,...这里的问题是,你要为每种类型(int.parse,bool.parse,简单的强制转换为字符串......)进行特定的处理,所以有些类型将被保留出。通过调用一个通用方法GetVariableValue,我无法知道接受T的类型以及哪些类型会抛出异常。 –