2 years ago
#387607
DLO
AVRO serialize a c# class with a constructor
My goal is to be able to avro serialize a c# class.
I'm currently trying to use Microsoft.Hadoop.Avro to serialize but I can't seem to get it to work as my application throws an exception 'Type 'Animals.Horse' is not supported by the resolver.'. Do you have any idea how to do it right?
Program.cs:
AvroSerializerSettings settings = new AvroSerializerSettings();
settings.Resolver = new AvroPublicMemberContractResolver();
var result = AvroSerializer.Create<Horse>(settings).WriterSchema.ToString();
Horse.cs:
namespace Animals
{
public class Horse
{
public string Name { get; private set; }
public Horse(string name)
{
Name = name ?? throw new ArgumentNullException(nameof(name));
}
}
}
Notes:
I am aware of this thread:
https://www.thecodebuzz.com/avro-serializationexception-type-is-not-supported-by-the-resolver-microsoft-hadoop-avro/
but he's not using a constructor in his domain class. For me it doesn't throw the exception if there wasn't a constructor or if the constructor was empty...
c#
avro
0 Answers
Your Answer