public abstract class SecurityAttribute : Attribute { // Public Constructors public SecurityAttribute(SecurityAction action); // Public Instance Properties public SecurityAction Action{set; get; } public bool Unrestricted{set; get; } // Public Instance Methods public abstract IPermission CreatePermission( ); }
The abstract SecurityAttribute class provides a base class from which the CodeAccessSecurityAttribute is derived. The Unrestricted property allows creation of security attributes that represent permissions in an unrestricted state. Although all derived permission attributes inherit Unrestricted, it is of use only when dealing with the attribute counterparts of permissions that implement the IUnrestrictedPermission interface. When required, the runtime calls the CreatePermission( ) method to create configured permission objects correctly from the configuration defined in a security attribute.