usingSystem;usingSystem.Security.Principal;usingSystem.Security.Permissions;namespacedemo{classMainClass { Public Static voidInvoke (Action action) {Try{action (); } Catch(Exception ex) {Console.WriteLine (ex). Message); } } Public Static voidMain (string[] args) {Invoke ()=TestMethod1 ()); Invoke (()=TestMethod2 ()); Invoke (()=TestMethod3 ()); Console.readkey (); } [PrincipalPermission (Securityaction.demand,name="Administrator")] Public Static voidTestMethod1 () {Console.WriteLine ("TestMethod1 successfully executed!"); } [PrincipalPermission (Securityaction.demand,role="Administrators")] Public Static voidTestMethod2 () {Console.WriteLine ("TestMethod2 successfully executed!"); } [PrincipalPermission (Securityaction.demand,role="Guests")] Public Static voidTestMethod3 () {Console.WriteLine ("TestMethod3 successfully executed!"); } }}
public static void Invoke (Action action)