Где находится NullReferenceException
.Вы уверены, что правильно отражаете MethodInfo
и что target
не null
?Это мое подозрение относительно того, что на самом деле здесь происходит.Если бы в методе было выброшено NullReferenceException
, оно было бы заключено в TargetInvocationException
, и поэтому я подозреваю, что NullReferenceException
- это потому, что target
равно нулю.Вы загружаете и вызываете метод:
var target = typeof(Program)
.GetMethod("Main", BindingFlags.Public | BindingFlags.Static);
bool retVal = (bool)target.Invoke(null, new object[] { pa });
Параметр parameters
для MethodInfo.Invoke
- это object[]
с тем же числом, порядком и типами параметров для вызываемого метода.В вашем случае у вас есть один параметр типа string[]
.Таким образом, параметр object[]
для MethodInfo.Invoke
должен быть массивом с одним элементом, и этот элемент является экземпляром string[]
.Это то, что я выполнил с помощью приведенного выше синтаксиса.