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 StreamWriter
normal sınıf ( System.IO.StreamWriter
) olduğunu bir kez daha kontrol edin . Tekrar CsvWriter
kontrol 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
CsvWriter
bir ISerializer
dönüşüm yapamayacağı için bir yapıcıyı çağırıyor ve başarısız oluyor. Bu seçmeliydim CsvWriter
bir alan kurucuya TextWriter
beri, 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ş).
StreamWriter
içinISerializer
?StreamWriter
.NET'in bir parçasıdır - belirli bir üçüncü taraf paketinden arabirimler uygulayamaz.