Я переписывал фрагмент кода из BlazorApp в приложение на основе BlazorApp Core. Внезапно теперь выдает ошибку при определении RangeAttribute.
Почему я получаю сообщение об ошибке:
«CS1729 'RangeAttribute' не содержит конструктор, который принимает 4 аргумента TradeNow.Client"
Мой код выглядит следующим образом:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
namespace TradeNow.Client.Pages.Adverts.Data
{
public class SellBuy
{
[Required]
[Range(typeof(SellBuyN), nameof(SellBuyN.Sell), typeof(SellBuyN), nameof(SellBuyN.Buy), ErrorMessage = "Select if you are buying or selling")]
public SellBuyN SellBuyN { get; set; }
}
public enum SellBuyN { Sell, Unknown, net, smth, Buy }
}
@derloopkat Раньше я использовал предварительный просмотр, и если я укажу один параметр, то ошибка будет такой же, просто будет указан 1 аргумент.
Из документации по адресу: https://learn.microsoft.com/en-us/dotnet/api/system.componentmodel.dataannotations.rangeattribute?view=net-5.0
Вы можете видеть, что конструктор никогда не принимает 4 аргумента:
Constructors
CONSTRUCTORS
RangeAttribute(Double, Double)
Initializes a new instance of the RangeAttribute class by using the specified minimum and maximum values.
RangeAttribute(Int32, Int32)
Initializes a new instance of the RangeAttribute class by using the specified minimum and maximum values.
RangeAttribute(Type, String, String)
Initializes a new instance of the RangeAttribute class by using the specified minimum and maximum values and the specific type.
Кажется, .Net 5 никогда не допускал 4 параметра в этом конструкторе. Вы недавно обновлялись с другой версии?