2 using System.Reflection;
4 using System.Security.Permissions;
6 [assembly: SecurityPermission (SecurityAction.RequestMinimum, Execution=true)]
7 //[assembly: PermissionSet (SecurityAction.RequestOptional, Unrestricted=true)]
8 [assembly: SecurityPermission (SecurityAction.RequestOptional, Flags=SecurityPermissionFlag.AllFlags)]
9 [assembly: SecurityPermission (SecurityAction.RequestRefuse, SkipVerification=true)]
11 public class Program {
13 static public int Main (string[] args)
15 object[] attrs = Assembly.GetExecutingAssembly ().GetCustomAttributes (false);
16 for (int i = 0; i < attrs.Length; i++) {
17 if (attrs [i] is PermissionSetAttribute) {
\r
18 PermissionSetAttribute psa = (attrs [i] as PermissionSetAttribute);
\r
19 Console.WriteLine ("{0} - {1}", psa.Action, psa.CreatePermissionSet ());
\r
20 } else if (attrs [i] is SecurityAttribute) {
\r
21 SecurityAttribute sa = (attrs [i] as SecurityAttribute);
\r
22 IPermission p = sa.CreatePermission ();
\r
23 PermissionSet ps = new PermissionSet (PermissionState.None);
\r
24 ps.AddPermission (p);
\r
25 Console.WriteLine ("{0} - {1}", sa.Action, ps);
\r
27 Console.WriteLine (attrs [i]);