ASP.NET Core that you want to use your custom model binder for a specific type, you create a model binder provider. This provider implements the IModelBinderProvider interface.
Code // (This code is not provided in your original request, but it’s a common way to register a custom model binder)
public class PersonBinderProvider : IModelBinderProvider { public IModelBinder? GetBinder(ModelBinderProviderContext context) { if (context.Metadata.ModelType == typeof(Person)) { return new BinderTypeModelBinder(typeof(PersonModelBinder)); } return null; } } This provider checks if the model type is Person, and if so, it returns an instance of your PersonModelBinder.
Registration and Usage // Program.cs (or Startup.cs) builder.Services.AddControllers(options => { options.ModelBinderProviders.Insert(0, new PersonBinderProvider()); }); By inserting your PersonBinderProvider at index 0, you ensure it takes precedence over the default model binders.