Permissions can be created in either a totally restrictive or totally unrestrictive state. A totally restrictive state allows no access to resources; a totally unrestricted state allows all access to a particular resource. For example, the file permission constructor could create an object representing either no access to any files or all access to all files.
Each type of permission clearly defines extreme states representing either all or none of the permissions expressible within the type. Thus, it is possible to create a generic permission in a completely restricted or unrestricted state without knowledge of the particular permission; however, intermediate states can only be set according to the specific permission semantics.
All code access permissions implemented in the .NET Framework can take a System.Security.Permissions.PermissionState value as an argument to their constructor.
No access to the resource protected by the permission.
Full access to the resource protected by the permission.