My code invokes method using reflection:
scoringType.InvokeMember("scoringClient_ScorePostsCompleted",
BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.NonPublic,
null, scoringInstance,
new object[] { sArg, eArg });
where scoringInstance is an instance of a ModelView class. The method is private, but I use BindingFlags.NonPublic, so, i should be able to access it, but I ca开发者_如何学Gonnot - I get MethodAccessException exception: "Attempt by method ... to access method ... failed." Google doesnt seem to have an answer. Do you have any idea how to fix it by any chance?
From MSDN on silverlight
In Silverlight, you cannot use reflection to access private types and members. If the access level of a type or member would prevent you from accessing it in statically compiled code, you cannot access it dynamically by using reflection.
Edit:
Silverlight 5 now does allow for reflection of private members ONLY if you're running with elevated privileges either out-of-browser or in-browser (in-browser using the generated test page DOES NOT WORK).
If you need access to non-public members, you can do this using the LambdaExpression. I wrote this article that explains in detail why it works.
精彩评论