示例#1
0
 public ILStatement GenerateWrite(ILValue target, ILValue buffer)
 {
     return(target_props
            .Convert(p => target.GetILProp(p))
            .Convert(p => ILSerialize.GenerateObjectWrite(p, buffer))
            .ToBlock());
 }
示例#2
0
            protected void WriteArguments(object[] arguments, Buffer buffer)
            {
                if (argument_writer == null)
                {
                    argument_writer = method.DeclaringType.CreateDynamicMethodDelegate <ArgumentWriter>(delegate(ILValue il_arguments, ILValue il_buffer) {
                        return(il_arguments.GetILExpandedParams(method)
                               .Convert(v => ILSerialize.GenerateObjectWrite(v, il_buffer))
                               .ToBlock());
                    });
                }

                argument_writer(arguments, buffer);
            }
示例#3
0
 protected override ILStatement GenerateWriteInternal(ILValue prop, ILValue liaison, ILValue buffer)
 {
     return(ILSerialize.GenerateObjectWrite(prop, buffer));
 }
示例#4
0
 static public ILStatement GenerateInvokeWrite(IEnumerable <ILValue> arguments, ILValue buffer)
 {
     return(arguments
            .Convert(a => ILSerialize.GenerateObjectWrite(a, buffer))
            .ToBlock());
 }