public void InvokeWrite <TItemType>(IGeneratedSerializer <TItemType> serializer, Span <byte> destination, TItemType item, int offset, SerializationContext context) { serializer.Write( this, destination, item, offset, context); }
public GeneratedSerializerWrapper( IGeneratedSerializer <T> innerSerializer, Assembly generatedAssembly, Func <string> generatedCSharp, byte[] generatedAssemblyBytes) { this.lazyCSharp = new Lazy <string>(generatedCSharp); this.Assembly = generatedAssembly; this.AssemblyBytes = generatedAssemblyBytes; this.innerSerializer = innerSerializer; }
public GeneratedSerializerWrapper( IGeneratedSerializer <T>?innerSerializer, Assembly?generatedAssembly, Func <string?> generatedCSharp, byte[]?generatedAssemblyBytes) { this.lazyCSharp = new Lazy <string?>(generatedCSharp); this.Assembly = generatedAssembly; this.AssemblyBytes = generatedAssemblyBytes; this.innerSerializer = innerSerializer ?? throw new ArgumentNullException(nameof(innerSerializer)); var tableAttribute = typeof(T).GetCustomAttribute <Attributes.FlatBufferTableAttribute>(); this.fileIdentifier = tableAttribute?.FileIdentifier; }
private GeneratedSerializerWrapper(GeneratedSerializerWrapper <T> template, SerializerSettings settings) { this.lazyCSharp = template.lazyCSharp; this.Assembly = template.Assembly; this.AssemblyBytes = template.AssemblyBytes; this.innerSerializer = template.innerSerializer; this.fileIdentifier = template.fileIdentifier; this.enableMemoryCopySerialization = settings.EnableMemoryCopySerialization; Func <ISharedStringWriter>?writerFactory = settings.SharedStringWriterFactory; if (writerFactory is not null) { this.sharedStringWriter = new ThreadLocal <ISharedStringWriter>(writerFactory); } }
public void InvokeWrite <TItemType>(IGeneratedSerializer <TItemType> serializer, Span <byte> destination, TItemType item, int offset, SerializationContext context) { throw new NotImplementedException(); }
public TItem InvokeParse <TItem>(IGeneratedSerializer <TItem> serializer, int offset) { return(serializer.Parse(new Wrapper(this), offset)); }
/// <summary> /// Wraps the given generated serializer as an ISerializer. /// </summary> public static ISerializer <T> AsISerializer <T>(this IGeneratedSerializer <T> generatedSerializer) where T : class { return(new GeneratedSerializerWrapper <T>(generatedSerializer, null, () => null, null)); }
public T InvokeParse <T>(IGeneratedSerializer <T> serializer, int offset) { return(serializer.Parse(this, offset)); }