Mono.Cecil.Rocks.SecurityDeclarationRocks.CreatePermission C# (CSharp) Method

CreatePermission() static private method

static private CreatePermission ( SecurityDeclaration declaration, SecurityAttribute attribute ) : IPermission
declaration SecurityDeclaration
attribute System.Security.Permissions.SecurityAttribute
return IPermission
        static IPermission CreatePermission(SecurityDeclaration declaration, SecurityAttribute attribute)
        {
            var attribute_type = Type.GetType (attribute.AttributeType.FullName);
            if (attribute_type == null)
                throw new ArgumentException ("attribute");

            var security_attribute = CreateSecurityAttribute (attribute_type, declaration);
            if (security_attribute == null)
                throw new InvalidOperationException ();

            CompleteSecurityAttribute (security_attribute, attribute);

            return security_attribute.CreatePermission ();
        }

Usage Example

        private static PermissionSet CreatePermissionSet(SecurityDeclaration declaration)
        {
            PermissionSet permissionSets = new PermissionSet(PermissionState.None);

            foreach (Mono.Cecil.SecurityAttribute securityAttribute in declaration.SecurityAttributes)
            {
                permissionSets.AddPermission(SecurityDeclarationRocks.CreatePermission(declaration, securityAttribute));
            }
            return(permissionSets);
        }