2016-02-23 10 views
0

У меня есть проблема с моим declation, когда я использую Invoke метода как типа MethodInfo:метод Invoke динамически в VB.Net SAP Business One

Сообщение об ошибке:

object reference not set to an instance of an object. 
Dim oMethod As MethodInfo 
oMethod = _StepInfo.CurrSysType.GetMethod(Me._MethodToRun, _MemberAccess) 
'calling method on object by reflection 
Dim dStart As DateTime = DateTime.Now 
Dim iRes As Integer = 0 
iRes = CInt(oMethod.Invoke(_StepInfo.CurrObj, Nothing)) 
Dim dEnd As DateTime = DateTime.Now 
System.Diagnostics.Debug.WriteLine("Processing Object: " & (dEnd - dStart).TotalMilliseconds) </i> 

ответ

0

Я не Эксперт по отражению в VB, но вы уверены, что _StepInfo.CurrObj инициализирован и не равен нулю? Для использования Invoke вам нужен действительный инициализированный экземпляр вашего объекта, иначе вы можете получить исключение с нулевой ссылкой, которое вы получаете.

Редактировать: Кроме того, это может помочь увидеть код, в котором вы инициализируете _StepInfo.CurrObj, _MethodToRun и _MemberAccess.

+1

Здравствуйте, У вас есть разрешение на ограничение с новой версией SAP Business One 9.2, мы не можем использовать Reflection. –

+0

Полезно знать. Спасибо! – Overhed