Bir CSV dosyası için insanların içeriğini yazmak ve daha sonra ihracat çalışırken, ancak ben bir yapı hatası alıyorum ve başarısız oluyor. hata:
cannot convert from 'System.IO.StreamWriter' to 'CsvHelper.ISerializer'
Emin değilim neden bu şekilde yaptım emin değilim bu şekilde bir sürü kez yaptım.
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);
}
}
}
Bu,
—
Jeroen Mostert
CsvHelper.CsvWriter(TextWriter)kapsamda olmadığını göstermektedir . Paketin doğru sürümünü alıp almadığınızı ve StreamWriternormal sınıf ( System.IO.StreamWriter) olduğunu bir kez daha kontrol edin . Tekrar CsvWriterkontrol etmek için "Tanıma Git" seçeneğini kullanın .
@JeroenMostert csvWriter'ı kontrol etmek istediniz mi? yaptım ve CsvHelper.Configuration kullanarak kullanan CSVhelper sınıfına aittir; CsvHelper.TypeConversion kullanarak; Sistem kullanma; System.Collections kullanarak; System.Collections.Generic kullanarak; System.Dynamic kullanarak; System.Globalization kullanarak; System.IO kullanarak; System.Threading.Tasks kullanarak;
—
Andy Stav
Evet, ancak derleyicinin size söylediği şey,
—
Jeroen Mostert
CsvWriterbir ISerializerdönüşüm yapamayacağı için bir yapıcıyı çağırıyor ve başarısız oluyor. Bu seçmeliydim CsvWriterbir alan kurucuya TextWriterberi, StreamWriter(herhangi bir nedenle) yani ya kurucu eksik olduğunu, o devraldığı veya derleyici'nın aşırı yük çözünürlüğü bozuldu (biraz daha az muhtemel, ama daha garip şeyler olmuş).
StreamWriteriçinISerializer?StreamWriter.NET'in bir parçasıdır - belirli bir üçüncü taraf paketinden arabirimler uygulayamaz.