ジェネリック メソッドを呼び出そうとしていますが、Type を動的に渡す必要があります。しかし、コンパイル エラー 'CS0246: 型または名前空間名 `t' が見つかりませんでした。using ディレクティブまたはアセンブリ参照がありません。私が見落としていることを教えてください、ありがとう。
...概して...
Type t = DiscoverType(field); // returns Type given FieldInfo via Type.GetType(string)
MethodInfo method = typeof(testClass).GetMethod("MyGenericMethod", BindingFlags.NonPublic | BindingFlags.Instance);
MethodInfo generic = method.MakeGenericMethod(typeof(t));
object[] args = {field};
generic.Invoke(this, args);
一般的な方法...
private void MyGenericMethod<T>(FieldInfo field)
{
field.SetValue(obj, new List<T>(objList));
}