С parquet.net есть ли способ сериализовать типы, чей любой член набирает интерфейс?using Parquet.Serialization;
//using MemoryStream stream = new();
//await ParquetSerializer.SerializeAsync([new LineOK ()], stream);
using MemoryStream stream = new();
await ParquetSerializer.SerializeAsync([new LineKO()], stream);
interface IPoint
{
decimal X { get; set; }
decimal Y { get; set; }
}
class Point : IPoint
{
public decimal X { get; set; }
public decimal Y { get; set; }
}
class LineOK
{
public Point Start { get; } = new();
public Point End { get; } = new();
}
class LineKO
{
public IPoint Start { get; } = new Point();
public IPoint End { get; } = new Point();
}
< /code>
Я думаю, что я понимаю логическую проблему: в наборе объектов мы могли бы иметь разные реализации, отсюда и схемы Паркета /Схемы.
Но в случае есть единственная реализация в наборе данных, есть ли способ заставить сериализацию?using MemoryStream stream = new();
await ParquetSerializer.SerializeAsync([new LineDto(new LineKO())], stream);
class LineDto
{
public Point Start { get; }
public Point End { get; }
public LineDto(LineKO lineKo)
{
Start = (Point)lineKo.Start;
End = (Point)lineKo.End;
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... arquet-net