AsmResolver.Net.Signatures.PermissionSetSignature.FromReader C# (CSharp) Method

FromReader() public static method

public static FromReader ( MetadataHeader header, IBinaryStreamReader reader ) : PermissionSetSignature
header MetadataHeader
reader IBinaryStreamReader
return PermissionSetSignature
        public static PermissionSetSignature FromReader(MetadataHeader header, IBinaryStreamReader reader)
        {
            var signature = new PermissionSetSignature()
            {
                StartOffset = reader.Position
            };

            var signatureHeader = reader.ReadByte();
            if (signatureHeader != '.')
                throw new ArgumentException("Signature doesn't refer to a valid permission set signature.");

            uint attributeCount;
            if (!reader.TryReadCompressedUInt32(out attributeCount))
                return signature;

            for (int i = 0; i < attributeCount; i++)
                signature.Attributes.Add(SecurityAttributeSignature.FromReader(header, reader));
            return signature;
        }