Делаю самовалидацию структуры и натыкаюсь на ошибку
DataAnnotations ArgumentException Предоставленный экземпляр должен соответствовать ObjectInstance в предоставленном ValidationContext.
реализация интерфейса есть, а как именно ее использовать?
чтоб полей структуры атрибуты можно было чекать автоматом
public struct TableData : IValidatableObject
{
public string description;
public string[] words;
public string GetIndexedWords(int i, int j)
{
return words[i * 10 + j];
}
public void SetIndexedWords(string word, int i, int j)
{
words[i * 10 + j] = word;
}
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
ValidationResult error = null;
if (String.IsNullOrWhiteSpace(description))
{
error = new ValidationResult("Поле description не инициализировано или является пустой строкой");
goto TORETURN;
}
if (words == null || words.Length != 100)
{
error = new ValidationResult("Поле words не инициализировано или не имеет длинну 100");
goto TORETURN;
}
for (int i = 0; i < 100; i++)
{
if (String.IsNullOrWhiteSpace(words[i]))
{
error = new ValidationResult($"Элемент words[{i}] не инициализирован или является пустой строкой");
goto TORETURN;
}
}
TORETURN:
return new List<ValidationResult>() { error };
}
}