private void EmitSerializationCode(ILProcessor ilProcessor, ParameterDefinition valueParam, ParameterDefinition writerParam, TypeDefinition resolved) { ilProcessor.CallMethod(writerParam, _typeHelper.MsgPackWriter.WriteMapHeader, resolved.Fields.Count); foreach (var field in resolved.Fields) { ilProcessor.CallMethod(writerParam, _typeHelper.MsgPackWriter.WriteString, field.Name); ilProcessor.CallStatic(GetTypeSerializeMethod(field.FieldType), (valueParam, field), writerParam); } }