gpt4 book ai didi

c# - 获取包含类,然后在自定义属性中访问它的属性

转载 作者:行者123 更新时间:2023-11-30 15:49:04 26 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC 并通过我的模型上的自定义属性/数据注释实现自定义验证。

是否可以在我的自定义属性中访问对象父类的属性?

public class MyModel
{
[MyCustomValidator]
public string var1 {get; set;}
public string var2 {get; set;}
}

注意:使用asp.net mvc

public class MyCustomValidatorAttribute : ValidationAttribute
{
public bool override IsValid(Object value)
{
// somehow get access to var2 in the MyModel
}
}

所以基本上,让验证检查另一个属性的特定值。我试图将 var2 的值作为参数传递给 MyCustomValidator,但这不起作用。

最佳答案

不,基本上。在通过反射器搜寻之后,您只能访问被测试成员的 - 而不是包含对象,甚至是属性/字段/任何内容的成员信息。

我同意这是非常有限和令人沮丧的,但看起来这在 4.0 中已修复 - 我之前的回复暗示,但在 4.0 中有一个 IsValid接受 ValidationContext 的重载,它通过 ObjectInstance 提供此信息.

关于c# - 获取包含类,然后在自定义属性中访问它的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2122112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com