2009-08-09 3 views
0

byte[]을 반환하는 .NET 어셈블리에서 함수를 호출하고 있습니다.GetMethod (methodname)에서 byte [] 반환 값 가져 오기.

어떻게 해당 함수의 반환 값을 캡처합니까?

나는이

byte[] byteData = (byte[])obj.GetType().GetMethod("methodname").Invoke(obj, new object[] { buffer }); 

일을 시도했지만 내가 다시 byteDatanull 값을 가져옵니다.

아무도 도와 줄 수 있습니까?

+0

당신이 디버깅하고 실제로 대상 방법으로 단계 있음을 확인 했습니까? –

답변

4

null이 아닌 바이트 배열을 진정으로 반환하는 경우에는 그 값이 정확해야합니다.

새 바이트 배열을 반환하는 대신 제공된 버퍼를 채우지 않았습니까? 여기

그것의 데모 일하고 :

using System; 

class Test 
{ 
    public byte[] GiveMeBytes() 
    { 
     return new byte[2]; 
    } 

    static void Main() 
    { 
     object obj = new Test(); 
     byte[] byteData = (byte[])obj.GetType().GetMethod("GiveMeBytes") 
            .Invoke(obj, new object[0]); 
     Console.WriteLine(byteData.Length); // Prints 2 
    } 
} 
+0

고마워요 존 ... 네, 그게 내가 생각한거야. 내가 뭔가 잘못하고있는 것 같아. 조금 더 파고 할거야. –