Heim >Backend-Entwicklung >C++ >Kann „TryParse' für die generische Typvalidierung in C# verwendet werden?
Erweitern der generischen Typvalidierung mit „TryParse“
Mit der Absicht zu überprüfen, ob eine bestimmte Zeichenfolge einem vordefinierten Typ entspricht, handelt es sich um einen Versuch Es wird versucht, eine generische Erweiterung unter Verwendung von „TryParse“ zu entwickeln. Allerdings ist dieser Versuch auf ein Kompilierungshindernis gestoßen, da „TryParse“ weiterhin ungelöst ist.
Der Kern dieses Problems liegt in der Tatsache, dass „TryParse“ in keiner erkennbaren Schnittstelle gekapselt ist. Daher stellt sich die Frage nach der Machbarkeit einer solchen Implementierung.
Eine mögliche Lösung besteht darin, die TypeDescriptor-Klasse zu nutzen, einen Mechanismus, der speziell für diesen Zweck entwickelt wurde. Durch die Einbindung dieser Klasse kann ein robusterer Ansatz gewählt werden:
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); } }
Dieser aktualisierte Ansatz bietet mehrere Vorteile:
Letztendlich bewältigt diese überarbeitete Lösung effektiv die anfängliche Herausforderung und bietet ein Mittel, um die Gültigkeit einer bestimmten Eingabezeichenfolge anhand eines vordefinierten Typs festzustellen.
Das obige ist der detaillierte Inhalt vonKann „TryParse' für die generische Typvalidierung in C# verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!