/// <summary> /// Create all internal structures. /// </summary> public void Create(ProxySerializationContext context) { foreach (var property in type.Properties) { if (!Ignore(property)) { var builder = context.GetDeserializer(property.PropertyType.Resolve()); var builderHelper = new DeserializerBuilderHelper { TypeDeserializerBuilder = builder, PropertyName = property.Name }; FillBuilderHelper(type, property, builderHelper); builders.Add(property.Name, builderHelper); } } }
private void ProcessSerializers(ProxySerializationContext context) { if (InterfaceMethod.ReturnType != null) { var typeDefinition = InterfaceMethod.ReturnType.Resolve(); if (typeDefinition.FullName != "System.Void") { typeDeserializerBuilder = context.GetDeserializer(typeDefinition); deserializerTypeIsArray = InterfaceMethod.ReturnType.IsArray; } } if (!string.IsNullOrEmpty(toSerializeArgument)) { var parameter = InterfaceMethod.Parameters.First(p => p.Name == toSerializeArgument); var typeDefinition = parameter.ParameterType.Resolve(); typeSerializerBuilder = context.GetSerializer(typeDefinition); serializerTypeIsArray = parameter.ParameterType.IsArray; } }