ホームページ > バックエンド開発 > C++ > TryParse を使用して汎用文字列の検証を実行できますか?

TryParse を使用して汎用文字列の検証を実行できますか?

Susan Sarandon
リリース: 2025-01-03 02:24:42
オリジナル
505 人が閲覧しました

Can Generic String Validation Be Achieved Using TryParse?

TryParse による汎用文字列変換

「TryParse」を利用して特定の型に対して文字列を検証する汎用拡張機能を作成しようとすると、次のコードが見つかりました:

public static bool Is<T>(this string input)
{
    T notUsed;
    return T.TryParse(input, out notUsed);
}
ログイン後にコピー

このコードは失敗します「TryParse」シンボルを解決できないためコンパイルできません。 「TryParse」はどのインターフェイスにも含まれていないため、この機能が実現可能かどうかという疑問が生じます。

TypeDescriptor を使用した代替解決策

1 つのアプローチは、TypeDescriptor クラスを使用することです。 :

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}
ログイン後にコピー

このメソッドは、ターゲットの型を明示的に渡し、ジェネリックスと実行時の型変換を可能にします。 TypeDescriptor は、文字列をさまざまな型に変換する機能を提供し、目的の型に対して文字列を検証できるようにします。

以上がTryParse を使用して汎用文字列の検証を実行できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート