В настоящее время я пытаюсь проверить свойство другим свойством того же класса. Я получил ошибку, которая сказала мне следующее:
Ссылка на объект требуется для нестатического c поля, метода или свойства
Этот тип ошибки делает абсолютный смысл для меня для следующего фрагмента кода. Но в любом случае я пытаюсь проверить свойство A (в моем примере OrderNumber) по причине значения свойства B (в моем примере Level).
Есть ли возможность сделать это с помощью аннотации проверки?
В настоящее время это мой код:
public class A
{
/// <summary>
/// Level
/// </summary>
public string Level { get; set; }
public B B {get;set;}
}
public class B
{
/// <summary>
/// Order Number
/// </summary>
[Level(A.Level)]
public int? OrderNumber { get; set; }
}
public class LevelAttribute : ValidationAttribute
{
private string Dlevel { get; set; }
public LevelAttribute(string dlevel)
{
this.Dlevel = dlevel;
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (value!=null && (Dlevel.Equals("D1")||Dlevel.Equals("D2")))
{
return new ValidationResult("Invalid Error Message");
}
return ValidationResult.Success;
}
}
Спасибо за помощь.