public void ReadSignature(MetadataReader reader)
        {
            if (this.SignatureBlob == null || this.SignatureBlob.Length == 0)
            {
                throw new ArgumentException("SignatureBlob is empty");
            }

            this.CallingConvention = (CorCallingConvention)(this.SignatureBlob[0] & 0x0f);

            int position = 1;
            this.ParamCount = (int)this.SignatureBlob.ReadCompressedUsigned(ref position);

            this.TypeDescriptor = this.SignatureBlob.ReadSignatureBlobType(reader, ref position);
        }
 public TypeDefinitionMetadataICodeElementAdapter(TypeDescriptor typeDescriptor, MetadataReader reader)
     : base(typeDescriptor.TypeDefinition, typeDescriptor.GenericTypes, reader)
 {
     this.TypeDescriptor = typeDescriptor;
 }
 public void ReadSignature(MetadataReader reader)
 {
     var position = 0;
     this.TypeDescriptor = this.SignatureBlob.ReadSignatureBlobType(reader, ref position);
 }