2

この行について例外が発生する理由がわかりません:

public void DoIt(object sender, MyEventArgs e) {
 //... other stuff
 Type type = sender.GetType(); 
 if (type.GetMethod(e.ActionName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance) == null)
    throw new NotSupportedException("Method: " + e.ActionName + " not implemented");
 type.InvokeMember(e.ActionName, System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Instance, null, sender, e.Parameters.ToArray());

}

メソッドが見つからないというエラーが引き続き発生しますが、呼び出す前のifステートメントの条件がfalseであるためだと確信しています。

4

1 に答える 1

1

実際、これはセキュリティ機能です。以前にSilverlightでこれに遭遇しました。そのプラットフォームでは、プライベートクラスのメンバーについて考えることはできません。Windows PhoneはSilverlightと非常によく似ているため、同じ制限が適用されると確信しています。

于 2012-07-07T19:53:14.960 に答える