private void WriteChar(Object obj, BinaryWritingContext context) { try { if (obj is char) { var bytes = BitConverter.GetBytes((char)obj); Array.Reverse(bytes); context.WriteBytes(bytes); } else throw new InvalidOperationException("Passed object is not a char"); } catch (Exception exception) { throw new InvalidOperationException("Cannot write char to given context", exception); } }
private void WriteString(object obj, BinaryWritingContext context) { try { if (obj is string) { var str = (string)obj; foreach (var ch in str) { context.WriteBytes(BitConverter.GetBytes(ch)); } } else throw new InvalidOperationException("Passed object is not a string"); } catch (Exception exception) { throw new InvalidOperationException("Cannot write string to given context", exception); } }
private void WriteShort(object obj, BinaryWritingContext context) { try { if (obj is short) { context.WriteBytes(BitConverter.GetBytes((short)obj)); } else throw new InvalidOperationException("Passed object is not a short"); } catch (Exception exception) { throw new InvalidOperationException("Cannot write short to given context", exception); } }