interface goes into class file
7eb04b60ad46d5d38a8baeca3df75150c28d60c0
3 files changed
src/Mvc.ModelBinding.MultiParameter/GenericModelBinderProvider.cssrc/Mvc.ModelBinding.MultiParameter/GenericValueProvider.cssrc/Mvc.ModelBinding.MultiParameter/IBindingSourceValueProvider.cs
diff --git a/src/Mvc.ModelBinding.MultiParameter/GenericModelBinderProvider.cs b/src/Mvc.ModelBinding.MultiParameter/GenericModelBinderProvider.cs
index 06a0e72..ad09733 100644
--- a/src/Mvc.ModelBinding.MultiParameter/GenericModelBinderProvider.cs
+++ b/src/Mvc.ModelBinding.MultiParameter/GenericModelBinderProvider.cs
@@ -24,13 +24,13 @@ public class GenericModelBinder(Type type) : IModelBinder
bindingContext.BindingSource;
var iBindingGetModelProviders = compositeValueProvider
- .Where(x => x is IBindingSourceValueProvider provider &&
+ .Where(x => x is IGenericValueProvider provider &&
(bindingSource == null || provider.Filter(bindingSource) != null))
- .Select(x => x as IBindingSourceValueProvider)
+ .Select(x => x as IGenericValueProvider)
.ToList();
if (iBindingGetModelProviders.FirstOrDefault(x => x != null &&
- x.ContainsPrefix(defaultContext.OriginalModelName)) is not IBindingSourceValueProvider getModelProvider)
+ x.ContainsPrefix(defaultContext.OriginalModelName)) is not IGenericValueProvider getModelProvider)
{
return Task.CompletedTask; // Failed
}
diff --git a/src/Mvc.ModelBinding.MultiParameter/GenericValueProvider.cs b/src/Mvc.ModelBinding.MultiParameter/GenericValueProvider.cs
index df74f93..178c3ed 100644
--- a/src/Mvc.ModelBinding.MultiParameter/GenericValueProvider.cs
+++ b/src/Mvc.ModelBinding.MultiParameter/GenericValueProvider.cs
@@ -5,11 +5,18 @@ using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Mvc.ModelBinding.MultiParameter;
+public interface IGenericValueProvider : IValueProvider
+{
+ IValueProvider? Filter(BindingSource bindingSource);
+
+ object? GetModel(string key, Type t);
+}
+
public class GenericValueProvider(
BindingSource bindingSource,
JsonDocument? jsonDocument,
IFormCollection? formCollection,
- JsonSerializerOptions? jsonSerializerOptions) : IBindingSourceValueProvider
+ JsonSerializerOptions? jsonSerializerOptions) : IGenericValueProvider
{
public ValueProviderResult GetValue(string key) =>
ValueProviderResult.None;
diff --git a/src/Mvc.ModelBinding.MultiParameter/IBindingSourceValueProvider.cs b/src/Mvc.ModelBinding.MultiParameter/IBindingSourceValueProvider.cs
deleted file mode 100644
index 41edc03..0000000
--- a/src/Mvc.ModelBinding.MultiParameter/IBindingSourceValueProvider.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace Microsoft.AspNetCore.Mvc.ModelBinding.MultiParameter;
-
-public interface IBindingSourceValueProvider : IValueProvider
-{
- IValueProvider? Filter(BindingSource bindingSource);
-
- object? GetModel(string key, Type t);
-}