在尝试创建一个方便的实用程序来验证字符串转换时,开发人员在使用“TryParse”时遇到了编译错误。出现此错误的原因是“TryParse”未在任何接口或基类中定义。
为了克服这个问题,开发人员探索了替代方法。一种方法建议利用 TypeDescriptor 及其“TryParse”功能。但是,此实现依赖于异常处理,这引发了对其可靠性的担忧。
为了解决这些问题,引入了通用“TryParse”实用程序的修改版本:
public static bool Is(this string input, Type targetType) { try { TypeDescriptor.GetConverter(targetType).ConvertFromString(input); return true; } catch { return false; } }
此修改后的代码消除了对泛型的依赖,而是传递要显式验证的类型。利用“ConvertFromString”方法,它尝试将输入字符串转换为指定的类型。转换期间遇到的异常将被解释为验证失败,从而导致布尔值“false”返回。
通过利用 TypeDescriptor 的转换功能,此修订版“TryParse”实用程序提供了一种可靠且灵活的机制,用于验证字符串转换,而无需使用基于异常的实现的陷阱。
以上是如何为 C# 中的字符串转换创建可靠的通用'TryParse”实用程序?的详细内容。更多信息请关注PHP中文网其他相关文章!