/// <summary> /// Returns bytes of specified <see cref="DataSet"/> instance after converting it into <see cref="CsvDataSet"/>. /// </summary> /// <param name="ds">Input <see cref="DataSet"/> instance.</param> /// <returns>Resulting bytes array.</returns> public static byte[] GetCsvBytes(DataSet ds) { if (ds == null) { throw new ArgumentNullException("ds"); } string resultTempFileName = GetTempCsvFileName(); byte[] bytes = null; try { ds.Clone(String.Format(CultureInfo.InvariantCulture, "msds:csv?file={0}&openMode=create&appendMetadata=true", resultTempFileName)); bytes = File.ReadAllBytes(resultTempFileName); } finally { if (resultTempFileName != null) File.Delete(resultTempFileName); } return bytes; }