Heim > Backend-Entwicklung > C++ > Wie kann ich eine generische TryParse-Methode in C# implementieren?

Wie kann ich eine generische TryParse-Methode in C# implementieren?

Mary-Kate Olsen
Freigeben: 2025-01-04 05:07:43
Original
632 Leute haben es durchsucht

How Can I Implement a Generic TryParse Method in C#?

Generisches TryParse: Erkundung alternativer Ansätze

Der Versuch, eine generische Erweiterung mithilfe von „TryParse“ zu implementieren, um String-Konvertierungen in einen bestimmten Typ zu validieren, kann problematisch sein Herausforderungen aufgrund des Fehlens von „TryParse“ als Schnittstellenmethode. In diesem Artikel werden mögliche Lösungen zur Überwindung dieses Hindernisses untersucht.

Ein von der Community vorgeschlagener Ansatz nutzt die TypeDescriptor-Klasse. Diese Klasse bietet eine Möglichkeit, einen Konverter für einen bestimmten Typ abzurufen. Durch Aufrufen der ConvertFromString-Methode für den abgerufenen Konverter kann die Zeichenfolgeneingabe in den gewünschten Typ konvertiert werden. Diese Methode behandelt auch Ausnahmen, die während der Konvertierung auftreten können.

public static T Convert<T>(this string input)
{
    try
    {
        var converter = TypeDescriptor.GetConverter(typeof(T));
        if(converter != null)
        {
            // Cast ConvertFromString(string text) : object to (T)
            return (T)converter.ConvertFromString(input);
        }
        return default(T);
    }
    catch (NotSupportedException)
    {
        return default(T);
    }
}
Nach dem Login kopieren

Alternativ kann man den Code so ändern, dass er einen Zieltyp als Parameter akzeptiert, wodurch die Notwendigkeit von Generika entfällt. Dieser Ansatz bietet mehr Kontrolle über den Konvertierungsprozess.

public static bool Is(this string input, Type targetType)
{
    try
    {
        TypeDescriptor.GetConverter(targetType).ConvertFromString(input);
        return true;
    }
    catch
    {
        return false;
    }
}
Nach dem Login kopieren

Obwohl der ausnahmebasierte Ansatz unkonventionell erscheinen mag, bietet er eine praktikable Lösung für die Herausforderung, generische String-Konvertierungen durchzuführen.

Das obige ist der detaillierte Inhalt vonWie kann ich eine generische TryParse-Methode in C# implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage