У меня есть класс (Настройки), который содержит весь жестко закодированный код.Это действительно удобно для определенных полей, таких как maxCharactersFields и сообщений об ошибках, так что я могу использовать одно и то же поле для отображения, моделей и моделей представления.Поэтому, если это изменит это будущее, все изменится так же.Тем не менее, я не могу использовать это в моделях представления.Более конкретно в StringLength System.ComponentModel.DataAnnotations.
Ошибка, которую он выдает: «Аргумент атрибута должен быть выражением константы, выражением typeof или выражением создания массива типа параметра атрибута.»
Некоторые вещи, которые я уже пробовал, - это заменить их полем во ViewModel, в котором я работаю, но выдает ту же ошибку.Я гуглил и искал в StackOverflow, но, похоже, не могу найти никого, кто пытался сделать что-то подобное и столкнулся с той же проблемой.
До сих пор я узнал, что не могу использоватьмой класс настроек, потому что это не базовый тип, но есть ли способ обойти его?
Ошибка возникает в строке StringLength.
[Display (Name = "E-mail van de gebruiker", Prompt = "John.Doe@gmail.com")]
[DataType (DataType.EmailAddress)]
[Required]
[StringLength(Settings.maxCharactersEmail)]
public string Email { get; set; }
public static class Settings
{
....
public static readonly int maxCharactersEmail= 320; //Googled it
....
}