Example #1
0
 public static void PermissionSetCallMethods()
 {
     PermissionSet ps = new PermissionSet(new PermissionState());
     ps.Assert();
     bool containspermissions = ps.ContainsNonCodeAccessPermissions();
     PermissionSet ps2 = ps.Copy();
     ps.CopyTo(new int[1], 0);
     ps.Demand();
     ps.Equals(ps2);
     System.Collections.IEnumerator ie = ps.GetEnumerator();
     int hash = ps.GetHashCode();
     PermissionSet ps3 = ps.Intersect(ps2);
     bool isempty = ps.IsEmpty();
     bool issubsetof = ps.IsSubsetOf(ps2);
     bool isunrestricted = ps.IsUnrestricted();
     string s = ps.ToString();
     PermissionSet ps4 = ps.Union(ps2);
     SecurityElement se = new SecurityElement("");
     ps.FromXml(se);
     se = ps.ToXml();
 }
        [System.Security.SecuritySafeCritical]  // auto-generated
        public NamedPermissionSet ChangeNamedPermissionSet(string name, PermissionSet pSet) {
            if (name == null)
                throw new ArgumentNullException("name");
            if (pSet == null)
                throw new ArgumentNullException("pSet");
            Contract.EndContractBlock();

            // First, make sure it's not a reserved permission set.
            for (int index = 0; index < s_reservedNamedPermissionSets.Length; ++index) {
                if (s_reservedNamedPermissionSets[index].Equals(name))
                    throw new ArgumentException(Environment.GetResourceString("Argument_ReservedNPMS", name));
            }

            // Get the current permission set (don't copy it).
            NamedPermissionSet currentPSet = GetNamedPermissionSetInternal(name);

            // If the permission set doesn't exist, throw an argument exception
            if (currentPSet == null)
                throw new ArgumentException(Environment.GetResourceString("Argument_NoNPMS"));

            // Copy the current permission set so that we can return it.
            NamedPermissionSet retval = (NamedPermissionSet)currentPSet.Copy();

            // Reset the permission set
            currentPSet.Reset();
            currentPSet.SetUnrestricted(pSet.IsUnrestricted());

            IEnumerator enumerator = pSet.GetEnumerator();
            while (enumerator.MoveNext()) {
                currentPSet.SetPermission(((IPermission)enumerator.Current).Copy());
            }

            if (pSet is NamedPermissionSet) {
                currentPSet.Description = ((NamedPermissionSet)pSet).Description;
            }

            return retval;
        }