Sto cercando di scrivere il contenuto delle persone in un file CSV e quindi esportarlo, tuttavia sto riscontrando un errore di compilazione e il suo fallimento. l'errore è:
cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer'
Non sono sicuro del perché questo accada a meno che, come sono sicuro, non l'abbia fatto in questo modo un sacco di volte.
private void ExportAsCSV()
{
using (var memoryStream = new MemoryStream())
{
using (var writer = new StreamWriter(memoryStream))
{
using (var csv = new CsvHelper.CsvWriter(writer))
{
csv.WriteRecords(people);
}
var arr = memoryStream.ToArray();
js.SaveAs("people.csv",arr);
}
}
}
CsvHelper.CsvWriter(TextWriter)non rientra nell'ambito di applicazione. Ricontrolla che stai ricevendo la versione corretta del pacchetto e che StreamWriterè la solita classe ( System.IO.StreamWriter). Utilizzare "Vai a definizione" CsvWriterper ricontrollare.
CsvWritercostruttore che lo prende ISerializere fallisce perché non c'è conversione. Avrebbe dovuto scegliere il CsvWritercostruttore che prende un TextWriter, poiché StreamWritereredita da quello, quindi o quel costruttore è mancante (per qualsiasi motivo) o la risoluzione di sovraccarico del compilatore è rotta (un po 'meno probabile, ma sono successe cose più strane).
StreamWriterinISerializer?StreamWriterfa parte di .NET stesso: non può implementare interfacce da un pacchetto di terze parti specifico.