Skip to content

Allow the use of CsvReader after CsvDataReader is disposed. #2175

@Qwertyluk

Description

@Qwertyluk

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();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions