gpt4 book ai didi

c# - 几个函数的通用替换

转载 作者:行者123 更新时间:2023-11-30 14:02:19 24 4
gpt4 key购买 nike

我正在解析大量 xml 内容并填充 DTO 以提交给合作伙伴端点。 xml 内容存储在我定期阅读并发送的文本文件中。无论如何,我现在发现自己拥有这样的 Funcs:

Func<string, int> ConvertInt= (p) => String.IsNullOrEmpty(p) ? 0 : Convert.ToInt32(p);

我检查我正在读取的元素是否不包含值,如果它不发送默认值,即在整数情况下,0。我有类似的 doubleDateTime?,是否有转换它的方法,所以我可以说一个扩展方法可以处理所有类型,即整数、 double 和 DateTimes?同样,我进行此转换的原因是因为让我们说一些 DTO 期望但不是必需的整数值,我不想尝试将空字符串转换为它等等......如果没有日期值,我只想返回一个空值,因为 DTO 接受可为空的日期时间,因此我编写了函数,并希望合并。

最佳答案

你应该看看 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;
}

关于c# - 几个函数的通用替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6129370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com