/// <summary> /// Creates a writer instance. /// </summary> /// <param name="type">The format to write in.</param> /// <param name="output">The output stream to write to.</param> /// <param name="customHandlers">Additional IWriteHandlers to use in addition /// to or in place of the default IWriteHandlers.</param> /// <returns>A writer</returns> /// <exception cref="System.NotImplementedException"></exception> /// <exception cref="System.ArgumentException">Unknown Writer type: + type.ToString()</exception> public static IWriter <T> Writer <T>(Format type, Stream output, IDictionary <Type, IWriteHandler> customHandlers) { switch (type) { case Format.MsgPack: return(WriterFactory.GetMsgPackInstance <T>(output, customHandlers)); case Format.Json: return(WriterFactory.GetJsonInstance <T>(output, customHandlers, false)); case Format.JsonVerbose: return(WriterFactory.GetJsonInstance <T>(output, customHandlers, true)); default: throw new ArgumentException("Unknown Writer type: " + type.ToString()); } }