using MemoryPack;
[MemoryPackable(SerializeLayout.Explicit)]
public sealed partial record ChargingBookSubmittedEvent
([property: MemoryPackOrder(1)] string ChargingPlatform, [property: MemoryPackOrder(2)] decimal Amount) : AbstractAuditEvent;
[MemoryPackUnion(0, typeof(ChargingBookSubmittedEvent))]
[MemoryPackable(SerializeLayout.Explicit)]
public abstract partial record AbstractAuditEvent
{
[MemoryPackOrder(0)]
public DateTimeOffset EventDate { get; init; }
}
because of this error:
Partial declarations of 'AbstractAuditEvent' must be all classes, all record classes, all structs, all record structs, or all interfaces
'AbstractAuditEvent.AbstractAuditEventFormatter' does not implement inherited abstract member 'MemoryPackFormatter<AbstractAuditEvent>.Deserialize(ref MemoryPackReader, ref AbstractAuditEvent?)'
'AbstractAuditEvent.AbstractAuditEventFormatter' does not implement inherited abstract member 'MemoryPackFormatter<AbstractAuditEvent>.Serialize<TBufferWriter>(ref MemoryPackWriter<TBufferWriter>, ref AbstractAuditEvent?)'
The type 'TBufferWriter' cannot be used as type parameter 'TBufferWriter' in the generic type or method 'MemoryPackWriter<TBufferWriter>'. There is no boxing conversion or type parameter conversion from 'TBufferWriter' to 'System.Buffers.IBufferWriter<byte>'.
This code does not compile:
because of this error: