public IMemberSerializer Get(IMember parameter) { var converter = _converters.Get(parameter); var access = _accessors.Get(parameter); var alteration = new DelegatedAlteration <object>(access.Get); var result = converter != null ? Property(alteration, converter, parameter, access) : Content(parameter, access); return(result); }
IMemberSerializer Property(IConverter converter, IMember profile, IMemberAccess access) { var alteration = new DelegatedAlteration <object>(access.Get); var serializer = new ConverterProperty <object>(converter, profile).Adapt(); var member = new MemberSerializer(profile, access, serializer, new MemberWriter(access, serializer)); var runtime = _runtime.Get(profile.Metadata); var property = (IMemberSerializer) new PropertyMemberSerializer(member); return(runtime != null ? new RuntimeSerializer(new AlteredSpecification <object>(alteration, runtime), property, Content(profile, access)) : property); }