C# 文字列から型への変換: Null 戻り値の回避
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# で文字列を型に変換するときに Null が返されるのを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。