Subject: Re: C# POCO serializer/deserializer


The schema generator is checked in as a separate project for now. It takes a number of C# classes and generates an Avro protocol using the Microsoft.CodeAnalysis package.

https://github.com/pa009fa/schemagen <https://github.com/pa009fa/schemagen>

There is a driver program which runs with the following parameters:

$ dotnet run -- --help
schemagen 1.0.0
Copyright (C) 2019 schemagen

  -i, --include              Required. Includes

  -o, --outfile              (Default: .) Output file. . for console

  -t, --target               Required. File name of the type to generate

  -d, --defaultconverters    Required. Default converters

  -c, --converters           Required. Default converters

  --help                     Display this help screen.

  --version                  Display version information.

The VSCode debugger is set up to generate a protocol from the classes in the csharp folder.

There are a number of new attributes to help when specifying the schema. Examples are in the Z.cs file. Attribute specify unions, default values etc.

The Reflect array helpers are not supported yet.

Any and all feedback is welcome.

At this stage I’m not sure it’s ready fro a detailed code review (but that would be fine as well if anyone has the time).

Also, any thoughts on how (whether?) to integrate it into the project are also welcome.

Cheers.