在验证 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 在发生任何验证错误时抛出的确切验证异常。
假设我有 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 在发生任何验证错误时抛出的确切验证异常。