在验证 C# 的静态上下文中访问非静态 属性 的解决方法

Workaround for accessing non-static property in a static context for Validation C#

假设我有 class Wallet:

public class Wallet
{
       public double Min { get; set; }

       public double Max { get; set; }

       public double Value { get; set; }
}

假设数据是从数据库中读取的。

用户可以从 UI.

修改 Value

我想以某种方式验证它,所以我最初的想法是:

[Range(Min, Max, ErrorMessage = "The value is outside of bounds.")]
public double Value { get; set; }

但是抛出一个错误:Cannot access non-static property in a static context attribute.

是否有解决方法或者我是否必须创建自定义验证?

上下文:WPF MVVM 应用程序,C#

您可以将该验证移至 setter,并抛出属性 class 在发生任何验证错误时抛出的确切验证异常。