2012-05-09 9 views
0

私はdllでrun executeメソッドを使いたいです。私は2 dllを持っています私は私の起動dll'RUNメソッドにアクセスすることができます:他のDLLからのリフレクトメソッド経由でパブリックメソッドを使用する方法?

以下のコードはExecuteメソッドで別のDLL(NetworkProcessor)を実行することはできません。私はNetworkProcessor.IpPing class'executeメソッドを呼び出す必要があります。でも、私は出来ません。 どのように反射を使用するには?

public void RUN(string uri, string serverGuid) 
{ 
    //something... 
    //something... 
    //something... 
+1

どのようなエラーが発生しますか? – Tigran

+0

この種の作業のためにインタフェースが作られています。 – HackedByChinese

+0

エラーが追加されました。あなたは見ることができます:) – programmerist

答えて

3

あなたがBindingFlags.Publicを指定した場合、あなたはまた、BindingFlags.InstanceまたはBindingFlags.Static、あるいはその両方を指定する必要があります。

MethodInfo minfo = instance.GetType().GetMethod("Execute", BindingFlags.Public | BindingFlags.Instance); 

現在GetMethodはnullを返すように引き起こして、指定しないでもありません。

+2

また、メソッドを返す必要がありますBindingFlagsを省略することもできます。 – Seb

関連する問題