我正在解析大量的xml内容并填充DTO以提交给合作伙伴端点.xml内容存储在我定期阅读并发送的文本文件中.无论如何,我现在发现自己有这样的Funcs:
Func<string, int> ConvertInt= (p) => String.IsNullOrEmpty(p) ? 0 : Convert.ToInt32(p);
Run Code Online (Sandbox Code Playgroud)
我检查我正在读取的元素是否不包含值,如果它不发送默认值,即在整数情况下,为0.我有类似的double和DateTime?,无论如何转换这个,所以我可以说一个扩展方法,将处理所有类型,即整数,双打和日期时间?同样,我正在进行此转换的原因是因为我们说DTO期望的某些整数值,但不是必需的,我不想尝试将空字符串转换为它等等...如果没有Date值我只想返回null,因为DTO接受可以为空的日期时间,因此我编写了funcs,我正在寻找合并.
您应该看一下TypeConverter类:http://msdn.microsoft.com/en-us/library/system.componentmodel.typeconverter.aspx
protected X Convert<X>(string value)
{
X val = default(X);
var tc = TypeDescriptor.GetConverter(typeof(X));
if (!string.IsNullOrEmpty(value) && tc.CanConvertFrom(typeof(string)))
{
val = (X)tc.ConvertFromString(value);
}
return val;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |