如何使用Invoke with Reflection获取ref参数

时间:2013-04-03 07:21:12

标签: reflection parameter-passing invoke ref

如何使用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)

1 个答案:

答案 0 :(得分:0)

通过保持对参数数组的引用,您已经正确地执行了此操作。方法返回时,结果将在objectValues[7]中。

请注意,如果FM_DEC_ENC是一个本机方法,需要将可修改的缓冲区设置为OutputData(因为System.String无法修改),这将不起作用。在这种情况下,you can also specify StringBuilder as parameter type