Try your search with a different keyword or use * as a wildcard.
using System.Globalization;
using System.Numerics;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.AspNetCore.Mvc.ModelBinding.Binders;
namespace Nop.Web.Framework.Mvc.ModelBinding.Binders;
/// 
/// Represents a model binder provider for binding numeric types
///  
public partial class InvariantNumberModelBinderProvider : IModelBinderProvider
{
    #region Fields
    protected static readonly HashSet _integerTypes =
    [
        typeof(int), typeof(long), typeof(short), typeof(sbyte),
    typeof(byte), typeof(ulong), typeof(ushort), typeof(uint), typeof(BigInteger)
    ];
    protected static readonly HashSet _floatingPointTypes =
    [
        typeof(double), typeof(decimal), typeof(float)
    ];
    #endregion
    /// 
    /// Creates a model binder
    ///  
    /// Context object
    /// Instance of model binder for floating-point types 
    public IModelBinder GetBinder(ModelBinderProviderContext context)
    {
        ArgumentNullException.ThrowIfNull(context);
        var modelType = context.Metadata.UnderlyingOrModelType;
        if (modelType is null)
            return null;
        if (_floatingPointTypes.Contains(modelType))
            return new InvariantNumberModelBinder(NumberStyles.Float, new FloatingPointTypeModelBinderProvider().GetBinder(context));
        if (_integerTypes.Contains(modelType))
            return new InvariantNumberModelBinder(NumberStyles.Integer, new SimpleTypeModelBinderProvider().GetBinder(context));
        return null;
    }
}