BTDB.EventStoreLayer.TypeSerializers.NewDescriptorSaverFactory C# (CSharp) Method

NewDescriptorSaverFactory() private method

private NewDescriptorSaverFactory ( ITypeDescriptor descriptor ) : IDescriptorSerializerLiteContext>.Action
descriptor ITypeDescriptor
return IDescriptorSerializerLiteContext>.Action
        Action<object, IDescriptorSerializerLiteContext> NewDescriptorSaverFactory(ITypeDescriptor descriptor)
        {
            var gen = descriptor.BuildNewDescriptorGenerator();
            if (gen == null)
            {
                return null;
            }
            var method = ILBuilder.Instance.NewMethod<Action<object, IDescriptorSerializerLiteContext>>("GatherAllObjectsForTypeExtraction_" + descriptor.Name);
            var il = method.Generator;
            gen.GenerateTypeIterator(il, ilgen => ilgen.Ldarg(0), ilgen => ilgen.Ldarg(1), null);
            il.Ret();
            return method.Create();
        }