public ISerializer Get(IMember parameter) { var contents = _contents.Get(parameter.MemberType); var specification = _specifications.Get(parameter); var result = new Serializer(contents, new VariableTypedMemberWriter(specification, _runtime, contents, _type)); return(result); }
protected override IEnumerable <object> Yield(IMember member, object instance) { var variable = _specifications.Get(member); var result = variable != null ? Yield(_accessors.Get(member) .Get(instance)) : Empty; return(result); }
protected override IEnumerable <TypeInfo> Yield(IMember member, object instance) { var variable = _specifications.Get(member); if (variable != null) { var current = _accessors.Get(member).Get(instance); if (Schedule(current) && variable.IsSatisfiedBy(current.GetType())) { yield return(Defaults.FrameworkType); } } }