<PackageReference Include="Castle.Core" Version="0.0.1110" />

NameValueCollectionAdapter

using System; using System.Collections.Specialized; using System.Linq; namespace Castle.Components.DictionaryAdapter { public class NameValueCollectionAdapter : AbstractDictionaryAdapter { private readonly NameValueCollection nameValues; public override bool IsReadOnly => false; public override object this[object key] { get { return nameValues[key.ToString()]; } set { string value2 = value?.ToString(); nameValues[key.ToString()] = value2; } } public NameValueCollectionAdapter(NameValueCollection nameValues) { this.nameValues = nameValues; } public override bool Contains(object key) { if (key == null) throw new ArgumentNullException("key"); if (this[key] != null) return true; return nameValues.AllKeys.Contains(key.ToString(), StringComparer.OrdinalIgnoreCase); } public static NameValueCollectionAdapter Adapt(NameValueCollection nameValues) { return new NameValueCollectionAdapter(nameValues); } } }