在嘗試建立一個方便的實用程式來驗證字串轉換時,開發人員在使用「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中文網其他相關文章!