CodeAccessPermission
Defines the underlying structure of all code access permissions.
                namespace System.Security
{
    public abstract class CodeAccessPermission : IPermission, ISecurityEncodable, IStackWalk
    {
        public void Assert()
        {
        }
        public abstract IPermission Copy();
        public void Demand()
        {
        }
        [System.Obsolete]
        public void Deny()
        {
            throw new PlatformNotSupportedException(System.SR.PlatformNotSupported_CAS);
        }
        public override bool Equals(object obj)
        {
            return base.Equals(obj);
        }
        public abstract void FromXml(SecurityElement elem);
        public override int GetHashCode()
        {
            return base.GetHashCode();
        }
        public abstract IPermission Intersect(IPermission target);
        public abstract bool IsSubsetOf(IPermission target);
        public void PermitOnly()
        {
            throw new PlatformNotSupportedException(System.SR.PlatformNotSupported_CAS);
        }
        public static void RevertAll()
        {
        }
        public static void RevertAssert()
        {
        }
        [System.Obsolete]
        public static void RevertDeny()
        {
        }
        public static void RevertPermitOnly()
        {
        }
        public override string ToString()
        {
            return base.ToString();
        }
        public abstract SecurityElement ToXml();
        public virtual IPermission Union(IPermission other)
        {
            return null;
        }
    }
}