文字列変換を検証するための便利なユーティリティを作成しようとした開発者は、'TryParse' の使用時にコンパイル エラーが発生しました。このエラーは、「TryParse」がインターフェイスまたは基本クラスで定義されていないために発生しました。
これを克服するために、開発者は代替メソッドを検討しました。 1 つのアプローチでは、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 中国語 Web サイトの他の関連記事を参照してください。