public static PropertySignature ParsePropertySignature(Blob blob) { using (var br = blob.ToReader()) { if (br.ReadByte() != 7) throw new Exception(); var ps = new PropertySignature(); ps.FirstMod = ReadCustomModSignatures(br); ps.Type = ParseTypeSignature(br); return ps; } }
public static FieldSignature ParseFieldSignature(Blob blob) { using (var br = blob.ToReader()) { if (br.ReadByte() != 6) throw new Exception(); var fs = new FieldSignature(); fs.FirstMod = ReadCustomModSignatures(br); fs.Type = ParseTypeSignature(br); return fs; } }
public static MethodSignature ParseMethodSignature(Blob blob) { using (var br = blob.ToReader()) { var ms = new MethodSignature(); ms.CallingConventions = br.Read<CallingConventions>(); if (ms.CallingConventions.HasFlag(CallingConventions.Generic)) ms.GenericParamCount = br.ReadCompressedUInt32(); ms.ParamCount = br.ReadCompressedUInt32(); ms.ReturnType = ReadReturnTypeSignature(br); if (ms.ParamCount > 0) ms.FirstParam = ReadParams(br, ms.ParamCount); return ms; } }