Exemple #1
0
        protected override IDictionary Create(object parameter)
        {
            var pair   = _locator.Get(parameter.GetType());
            var result = pair.HasValue
                                             ? _dictionaries.Get(pair.Value.KeyType, pair.Value.ValueType)(parameter)
                                             : throw new
                               InvalidOperationException($"Could not locate dictionary from type {parameter.GetType()}.");

            return(result);
        }
        public ISerializer Get(TypeInfo parameter)
        {
            var pair          = _locator.Get(parameter);
            var serializers   = new[] { Create(Key, pair.KeyType), Create(Value, pair.ValueType) };
            var serialization = _builder(serializers);

            var reader = _contents.Create(Type, new MemberInnerContentHandler(serialization, _contents, _contents));

            var converter = new Serializer(reader, new MemberListWriter(serialization));
            var result    = new Container <object>(_element, converter);

            return(result);
        }