+ else if (type == u.System_Boolean)
+ {
+ WriteByte((bool)value ? (byte)1 : (byte)0);
+ }
+ else if (type == u.System_Char)
+ {
+ WriteUInt16((char)value);
+ }
+ else if (type == u.System_SByte)
+ {
+ WriteByte((byte)(sbyte)value);
+ }
+ else if (type == u.System_Byte)
+ {
+ WriteByte((byte)value);
+ }
+ else if (type == u.System_Int16)
+ {
+ WriteUInt16((ushort)(short)value);
+ }
+ else if (type == u.System_UInt16)
+ {
+ WriteUInt16((ushort)value);
+ }
+ else if (type == u.System_Int32)
+ {
+ WriteInt32((int)value);
+ }
+ else if (type == u.System_UInt32)
+ {
+ WriteInt32((int)(uint)value);
+ }
+ else if (type == u.System_Int64)
+ {
+ WriteInt64((long)value);
+ }
+ else if (type == u.System_UInt64)
+ {
+ WriteInt64((long)(ulong)value);
+ }
+ else if (type == u.System_Single)
+ {
+ WriteSingle((float)value);
+ }
+ else if (type == u.System_Double)
+ {
+ WriteDouble((double)value);
+ }