[C#/COMMON/AVROCONVERT/.NET6] AvroConvert 클래스 : OpenDeserializer 정적 메소드를 사용해 데이터 컬렉션에서 데이터를 순차 역직렬화하기


■ AvroConvert 클래스의 OpenDeserializer 정적 메소드를 사용해 데이터 컬렉션에서 데이터를 순차 역직렬화하는 방법을 보여준다.

Employee.cs

▶ Program.cs
—————————————————————————————————-
using SolTechnology.Avro;
using SolTechnology.Avro.Features.DeserializeByLine;

namespace TestProject;

/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private

#region 프로그램 시작하기 – Main()

/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
List<Employee> sourceList = new List<Employee>();

for(int i = 0; i < 100; i++)
{
sourceList.Add(new Employee { ID= i + 1, Name = $"직원{i + 1:d3}" });
}

byte[] sourceByteArray = AvroConvert.Serialize(sourceList);

Console.WriteLine("직렬화 데이터");
Console.WriteLine("————————————————–");
Console.WriteLine(Convert.ToBase64String(sourceByteArray));
Console.WriteLine("————————————————–");
Console.WriteLine();

Console.WriteLine("역직렬화 데이터");
Console.WriteLine("————————————————–");

using(ILineReader<Employee> reader = AvroConvert.OpenDeserializer<Employee>(new MemoryStream(sourceByteArray)))
{
while(reader.HasNext())
{
Employee employee = reader.ReadNext();

Console.WriteLine(employee.Name);
}
}

Console.WriteLine("————————————————–");
}

#endregion
}
—————————————————————————————————-

TestProject.zip