CsvHelper icon indicating copy to clipboard operation
CsvHelper copied to clipboard

Allow the use of CsvReader after CsvDataReader is disposed.

Open Qwertyluk opened this issue 2 years ago • 0 comments

Is your feature request related to a problem? Please describe. Allow the use of CsvReader after CsvDataReader is disposed.

Describe the solution you'd like Add CsvDataReader constructor parameter leaveOpen with default value false to decide whether CsvReader should be disposed together with CsvDataReader.

public CsvDataReader(CsvReader csv, DataTable? schemaTable = null, bool leaveOpen = false)
{
	//ctor
}

Additional context Currently, there is no way to prevent CsvReader from being disposed when CsvDataReader is disposed. It would be nice to have such an option and be able to reuse CsvReader after CsvDataReader is diposed:

using (var reader = new StreamReader("path\\to\\file.csv"))
using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
{
	using (var dr = new CsvDataReader(csv))
	{
		// do somework with CsvDataReader
		dr.Read();
	}

	// right now, can't reuse CsvReader here because it is already disposed
	//csv.Read();
}

Qwertyluk avatar Aug 15 '23 11:08 Qwertyluk