public T Create <T>(NameValueCollection nameValues) where T : class { var dict = CreateDictionary(nameValues); var meta = _factory.GetAdapterMeta(typeof(T)); var attr = typeof(T).GetCustomAttribute <SettingsAttribute>(); var behavior = new SettingsBehavior(attr?.KeyPrefix, attr?.PrefixSeparator); var desc = new PropertyDescriptor(new[] { behavior }); desc.AddBehavior(behavior); return((T)meta.CreateInstance(dict, desc)); }