Reflection 如何使用带反射的调用获取ref参数
如何使用带反射的调用获取ref参数(OutputData)。 objectValues是一个对象数组,它接受一个参数,并将参数发送到“FM_DEC_ENC”方法。此方法包含8个参数。其中之一是outputdatare参数Reflection 如何使用带反射的调用获取ref参数,reflection,parameter-passing,invoke,ref,Reflection,Parameter Passing,Invoke,Ref,如何使用带反射的调用获取ref参数(OutputData)。 objectValues是一个对象数组,它接受一个参数,并将参数发送到“FM_DEC_ENC”方法。此方法包含8个参数。其中之一是outputdatare参数 mInfo.Invoke("FM_DEC_ENC", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance, null, objectValues,null)
mInfo.Invoke("FM_DEC_ENC", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
null, objectValues,null)
通过保留对参数数组的引用,您已经正确地执行了该操作。当该方法返回时,结果将显示在
objectValues[7]
中
请注意,如果FM_DEC_ENC
是一个本机方法,它需要一个可修改的缓冲区作为OutputData
(因为无法修改System.String
)。在这种情况下
public Int32 FM_DEC_ENC(String AdapterID, String SlotID, String InputData,
String DecKeyName, String EncKeyName, HsmCommConstants.ENCRIPTION DecEcbOrCbc,
HsmCommConstants.ENCRIPTION EncEcbOrCbc, ref String OutputData)