2 using System.Reflection;
4 using System.Security.Permissions;
8 [SecurityPermission (SecurityAction.LinkDemand, ControlPrincipal=true)]
9 public static int Test ()
14 static MethodInfo GetReflectedCall ()
16 return typeof (Program).GetMethod ("Test", BindingFlags.Static | BindingFlags.Public);
19 [SecurityPermission (SecurityAction.Deny, ControlPrincipal=true)]
20 static int CallReflectedCall (MethodInfo mi)
22 return (int) mi.Invoke (null, null);
28 MethodInfo mi = GetReflectedCall ();
30 Console.WriteLine ("*2* Couldn't reflect on call Test (failure).");
33 int result = CallReflectedCall (mi);
35 Console.WriteLine ("*{0}* Unexpected calling thru reflection.", result);
37 Console.WriteLine ("*{0}* Unexpected return value from reflection.", result);
42 catch (SecurityException) {
43 Console.WriteLine ("*0* Expected SecurityException.");