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);
        }
예제 #2
0
        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);
                }
            }
        }