C# プログラミングでは、クラス名を表す文字列を対応する型に動的に変換する必要があることがよくあります。ただし、Type.GetType("System.Int32")
を使用すると、この既定のメソッドは mscorlib
または呼び出し元アセンブリにある型に対してのみ機能します。
他のアセンブリにあるクラスの場合は、別のアプローチが必要です。文字列にアセンブリ名を含めることで、必要な型を正常に取得できます:
<code class="language-csharp">Type type = Type.GetType("命名空间.我的类, 我的程序集");</code>
アセンブリに厳密な名前がある場合は、その詳細を含める必要があります。詳細については、Type.GetType(string)
ドキュメントを参照してください。
あるいは、既知の型などを介してターゲット アセンブリへの参照を保持しているとします。この場合、Assembly.GetType
は便利な解決策を提供します:
<code class="language-csharp">Assembly asm = typeof(某个已知类型).Assembly; Type type = asm.GetType(带命名空间的类型名称);</code>
上記の手法を使用すると、C# で文字列から型への変換を簡単に実装できるため、動的な型取得の可能性を最大限に活用できます。
以上がC# で文字列を型に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。