我正在使用以下方法提供对各种Type类的TryParse()方法的快速内联访问.基本上我希望能够解析来自Web服务的字符串(如果可能),否则返回默认值.
private Int64 Int64Parse(string value) {
Int64 result;
if (!Int64.TryParse(value, out result)) { return default(Int64); }
return result;
}
private DateTime DateTimeParse(string value) {
DateTime result;
if (!DateTime.TryParse(value, out result)) { return default(DateTime); }
return result;
}
private Decimal DecimalParse(string value) {
Decimal result;
if (!Decimal.TryParse(value, out result)) { return default(Decimal); }
return result;
}
Run Code Online (Sandbox Code Playgroud)
这些是非常重复的,对我来说,可能有一种方法可以将它们包装成单个通用方法.
我坚持以下但不确定如何继续或如何搜索如何继续.
private T ParseString<T>(string value) {
T result;
if (!T.TryParse(value, out result)) { return default(T); }
return result;
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.谢谢.
==编辑==添加一些上下文.这是为了收听来自特定信用卡结算公司的回发的听众.我没有在此步骤进行验证,因为这是在稍后的业务规则步骤中完成的.例如,我不在乎bank_batch_number是作为int,string还是冻干的啮齿动物进入; 如果我不能干净地记录我不使用的字段,我不会停止异常.我关心ext_product_id存在于我们的数据库中,并且在消息中具有与currency_amount_settled相匹配的价格; 如果该测试失败,则交易被暂停,将记录警告,我们的CS员工和我自己将收到警报.
下面提到的文化事物是圣人的建议.