场景: 我有App.Config文件,其中有某些方法,我想通过Reflection调用它们。在执行此操作时,我还需要告诉传递给该方法的 Type 参数。我在运行时检索该方法的参数类型列表,如下所示:
ParameterInfo[] parameters = magicType.GetMethod("ItsMagic").GetParameters();
但我不知道如何将这个数组放在以下函数中:
magicType.GetMethod("ItsMagic", new Type[] {parameters.Cast<Type>()});
导致以下错误:
错误:无法隐式转换类型&#39; System.Collections.Generic.IEnumerable&#39;到&#39; System.Type&#39;。存在显式转换(您是否错过了演员?)
有任何建议如何实现?
答案 0 :(得分:2)
parameters.Select(p=>p.ParameterType).ToArray()
magicType.GetMethod("ItsMagic", parameters.Select(p=>p.ParameterType).ToArray() );