/// <summary> /// Writes an object value to the stream. /// </summary> /// <param name="writer">Must not be null.</param> /// <param name="value">Must not be null.</param> /// <param name="valueType">Must not be null.</param> private static void WriteObjectValue(FileChunkWriter writer, object value, Type valueType) { if (valueType.FullName == typeof(FourCharacterCode).FullName) { writer.WriteFourCharacterCode((FourCharacterCode)value); } if (valueType.FullName == typeof(Stream).FullName) { writer.WriteStream((Stream)value); } if (valueType.FullName == typeof(byte[]).FullName) { writer.WriteBuffer((byte[])value); } if (valueType.IsChunk()) { // should be handled outside the member writer throw new InvalidOperationException(); } }