遺伝的に遺伝的に生成された溶液
を呼び出すには、次の方法を使用できます。
<code class="language-csharp">MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.GenericMethod));</code>
<code class="language-csharp">MethodInfo generic = method.MakeGenericMethod(myType);</code>
<code class="language-csharp">generic.Invoke(this, null);</code>
静的なジェネリックメソッドを取得するためのMethodInfo:
[型パラメーターの使用汎用法]を使用してください:
<code class="language-csharp">MethodInfo method = typeof(Sample).GetMethod(nameof(Sample.StaticMethod));</code>
コンストラクターの一般的な方法を呼び出します。これは、静的な方法であるため、nullは最初のパラメーターとして渡されます。
<code class="language-csharp">MethodInfo generic = method.MakeGenericMethod(myType);</code>
反射は一般的な方法を呼び出すための強力なソリューションを提供しますが、モデルコードがかなり多く含まれる場合があります。ただし、C#4から始めて、動的キーワードを使用してこのプロセスを簡素化できます。タイプの推論が利用可能な場合、動的を使用すると、必要なコードを大幅に削減できます。
<code class="language-csharp">generic.Invoke(null, null);</code>
以上がC#で動的に解決されたタイプ変数を使用して、一般的なメソッドを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。