public void Write(Writer writer) { writer.Write((byte)this.DataType); switch (this.DataType) { case DataType.Int: writer.Write((int)Value); break; case DataType.UShort: writer.Write((ushort)Value); break; case DataType.Long: writer.Write((long)Value); break; case DataType.Byte: writer.Write((byte)Value); break; case DataType.Bool: writer.Write((bool)Value); break; case DataType.String: writer.Write((string)Value); break; case DataType.ByteArray: writer.WriteByteArray((byte[])Value); break; } }