C# 字符串到类型的转换:避免空返回
将表示类名的字符串转换为 C# 中的实际类型有时会产生 null 结果。 这种情况通常在使用 Type.GetType("System.Int32")
时发生,它仅适用于 mscorlib
或当前程序集中的类型。
要成功转换自定义类型,您必须指定命名空间和程序集:
<code class="language-csharp">Type type = Type.GetType("Namespace.MyClass, MyAssembly");</code>
对于强名称程序集,请确保包含 Type.GetType(string)
文档中详细说明的所有相关程序集信息。
或者,如果您有对程序集的引用,请使用 Assembly.GetType()
:
<code class="language-csharp">Assembly asm = typeof(SomeKnownType).Assembly; Type type = asm.GetType(namespaceQualifiedTypeName);</code>
这些方法在不同情况下提供可靠的字符串到类型的转换。
以上是C# 字符串转类型时如何避免空返回?的详细内容。更多信息请关注PHP中文网其他相关文章!