BTDB.EventStoreLayer.TypeSerializers.NewSimpleSaver C# (CSharp) Метод

NewSimpleSaver() приватный Метод

private NewSimpleSaver ( ITypeDescriptor descriptor ) : object>.Action
descriptor ITypeDescriptor
Результат object>.Action
        Action<AbstractBufferedWriter, object> NewSimpleSaver(ITypeDescriptor descriptor)
        {
            if (descriptor.AnyOpNeedsCtx()) return null;
            var method = ILBuilder.Instance.NewMethod<Action<AbstractBufferedWriter, object>>(descriptor.Name + "SimpleSaver");
            var il = method.Generator;
            descriptor.GenerateSave(il, ilgen => ilgen.Ldarg(0), null, ilgen =>
                {
                    ilgen.Ldarg(1);
                    var type = descriptor.GetPreferedType();
                    if (type != typeof(object))
                    {
                        ilgen.UnboxAny(type);
                    }
                }, descriptor.GetPreferedType());
            il.Ret();
            return method.Create();
        }