/// <summary>
 /// Writes to disk.
 /// </summary>
 /// <param name="writer">Writer.</param>
 /// <param name="tabDepth">Tab depth.</param>
 public void WriteToDisk(FileIOManagerBinary writer, int tabDepth)
 {
     writer.WriteByte(this.methodId);
     writer.WriteByte(this.returnType);
     writer.WriteByte((byte)this.parameterTypes.Count);
     foreach (byte parameterType in this.parameterTypes)
     {
         writer.WriteByte(parameterType);
     }
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="MethodSignatureBinary"/> class.
        /// </summary>
        /// <param name="reader">Reader.</param>
        public MethodSignatureBinary(FileIOManagerBinary reader)
        {
            this.MethodId   = reader.ReadByte();
            this.returnType = reader.ReadByte();

            int numberOfParameters = (int)reader.ReadByte();

            for (int i = 0; i < numberOfParameters; ++i)
            {
                this.parameterTypes.Add(reader.ReadByte());
            }
        }