如何使用Invoke with Reflection获取ref参数(OutputData)。 objectValues是一个对象数组,它将参数发送参数发送到“FM_DEC_ENC”方法。该方法包含8个参数。其中之一是outputData参数
mInfo.Invoke("FM_DEC_ENC", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance,
null, objectValues,null)
public Int32 FM_DEC_ENC(String AdapterID, String SlotID, String InputData,
String DecKeyName, String EncKeyName, HsmCommConstants.ENCRIPTION DecEcbOrCbc,
HsmCommConstants.ENCRIPTION EncEcbOrCbc, ref String OutputData)
答案 0 :(得分:0)
通过保持对参数数组的引用,您已经正确地执行了此操作。方法返回时,结果将在objectValues[7]
中。
请注意,如果FM_DEC_ENC
是一个本机方法,需要将可修改的缓冲区设置为OutputData
(因为System.String
无法修改),这将不起作用。在这种情况下,you can also specify StringBuilder as parameter type。