public MultiValueParser(
     ICollectionConstructorProvider collectionCtorProvider,
     IValueParserProvider valueParserProvider)
 {
     _collectionCtorProvider = collectionCtorProvider ?? throw new ArgumentNullException(nameof(collectionCtorProvider));
     _valueParserProvider    = valueParserProvider ?? throw new ArgumentNullException(nameof(valueParserProvider));
 }
        public KeyValuePairParser(Type keyValueType, IValueParserProvider valueParserProvider)
        {
            if (valueParserProvider == null)
            {
                throw new ArgumentNullException(nameof(valueParserProvider));
            }
            _keyValueType = keyValueType ?? throw new ArgumentNullException(nameof(keyValueType));

            if (!IsParameterizedKeyValuePair(keyValueType))
            {
                throw new ArgumentException(
                          "Value type must be a parameterized KeyValuePair<TKey, TValye> type.",
                          nameof(keyValueType));
            }

            _keyType   = keyValueType.GenericTypeArguments[0];
            _valueType = keyValueType.GenericTypeArguments[1];

            _keyParser   = valueParserProvider.GetParser(_keyType, parserType: null);
            _valueParser = valueParserProvider.GetParser(_valueType, parserType: null);
        }
Exemple #3
0
 public KeyValuePairParserFactory(IValueParserProvider valueParserProvider)
 {
     _valueParserProvider = valueParserProvider ?? throw new ArgumentNullException(nameof(valueParserProvider));
 }