2012-01-25 6 views
0

私はクエリを介して呼び出すメソッド名を渡そうとしており、ProcessRequestがそのハンドラ内でそのメソッドを呼び出すようにしています。私はここに行くように学んでいるので、これを行うための最良の方法は何でしょうか。ここに私が持っているものがあります...ハンドラに呼び出すメソッド名を渡す

私はmethodInfo.InvokeでエラーThe best overloaded method match for Invoke(object, object[]) has some invalid argumentsを受け取ります。

public class SocialSharingHandler : IHttpHandler 
{ 

    public void ProcessRequest(HttpContext context) 
    { 
     string method = (string)context.Request.QueryString["m"]; 
     if (!string.IsNullOrEmpty(method)) 
     { 
      MethodInfo methodInfo = typeof(SocialSharingHandler).GetMethod(method); 
      methodInfo.Invoke(new SocialSharingHandler(), context.Request.Form); 
     } 
    } 
.... 

答えて

1
methodInfo.Invoke(new SocialSharingHandler(), new object[] { context.Request.Form }); 
+0

はあなたに感謝を述べ、それがコンパイルされますが、私はではないんだけどまだ実行されているかどうかを確認するポイント。おかげでvc! – bflemi3

+0

@ bflemi3あなたは大歓迎です:) –

0

エラーメッセージは、問題を解決するように見えた期待のparamの型のオブジェクトとオブジェクトオブジェクトの配列[]

public class SocialSharingHandler : IHttpHandler 
{ 
    public void ProcessRequest(HttpContext context) 
    { 
     string method = (string)context.Request.QueryString["m"]; 
     if (!string.IsNullOrEmpty(method)) 
     { 
       MethodInfo methodInfo = typeof(SocialSharingHandler).GetMethod(method); 
       methodInfo.Invoke(new SocialSharingHandler(), new object[] { context.Request.Form }); 
     }  
    } 
} 
関連する問題