using System;
using System.Security.Principal;
using System.Security.Permissions;
namespace Demo
{
class MainClass
{
public static void Invoke (Action action)
{
try {
action ();
} catch (Exception ex) {
Console.WriteLine (ex.Message);
}
}
public static void Main (string[] args)
{
Invoke (() => TestMethod1 ());
Invoke (() => TestMethod2 ());
Invoke (() => TestMethod3 ());
Console.ReadKey ();
}
[PrincipalPermission(SecurityAction.Demand,Name="Administrator")]
public static void TestMethod1()
{
Console.WriteLine ("TestMethod1 successfully Executed!");
}
[PrincipalPermission(SecurityAction.Demand,Role="Administrators")]
public static void TestMethod2()
{
Console.WriteLine ("TestMethod2 successfully Executed!");
}
[PrincipalPermission(SecurityAction.Demand,Role="Guests")]
public static void TestMethod3()
{
Console.WriteLine ("TestMethod3 successfully Executed!");
}
}
}