Heim >Backend-Entwicklung >C++ >Wie vermeide ich Null-Rückgaben beim Konvertieren von Zeichenfolgen in Typen in C#?

Wie vermeide ich Null-Rückgaben beim Konvertieren von Zeichenfolgen in Typen in C#?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-23 14:35:09412Durchsuche

How Do I Avoid Null Returns When Converting Strings to Types in C#?

C#-String-zu-Typ-Konvertierung: Null-Rückgaben vermeiden

Das Konvertieren von Zeichenfolgen, die Klassennamen darstellen, in tatsächliche Typen in C# kann manchmal zu Nullergebnissen führen. Dies tritt häufig bei der Verwendung von Type.GetType("System.Int32") auf, das nur für Typen innerhalb von mscorlib oder der aktuellen Assembly korrekt funktioniert.

Um Ihre benutzerdefinierten Typen erfolgreich zu konvertieren, müssen Sie sowohl den Namespace als auch die Assembly angeben:

<code class="language-csharp">Type type = Type.GetType("Namespace.MyClass, MyAssembly");</code>

Stellen Sie bei Assemblys mit starken Namen sicher, dass Sie alle relevanten Assemblyinformationen angeben, wie in der Type.GetType(string)Dokumentation beschrieben.

Wenn Sie alternativ einen Verweis auf die Assembly haben, verwenden Sie Assembly.GetType():

<code class="language-csharp">Assembly asm = typeof(SomeKnownType).Assembly;
Type type = asm.GetType(namespaceQualifiedTypeName);</code>

Diese Methoden ermöglichen eine zuverlässige String-Typ-Konvertierung in verschiedenen Situationen.

Das obige ist der detaillierte Inhalt vonWie vermeide ich Null-Rückgaben beim Konvertieren von Zeichenfolgen in Typen in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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