public TwoPassSerializerHelper(ObjectParser parser, Type type, bool inlineNested) : base(parser, type, inlineNested) { firstPassSerialize = new Lazy <Action <object, FPW>[]>(() => { return(SerializerGeneratorFactory <object, FPW> .Create( (o, w, i) => firstPassSerialize.Value[i](o, w), type, inlineNested) .Generate(parser) .Select(lambda => lambda.Compile()).ToArray()); }, LazyThreadSafetyMode.PublicationOnly); }
public SerializerHelper(ObjectParser parser, Type type, bool inlineNested) { expressions = SerializerGeneratorFactory <object, W> .Create((o, w, i) => serialize[i](o, w), type, inlineNested).Generate(parser); serialize = expressions.Select(lambda => lambda.Compile()).ToArray(); }