【发布时间】:2020-12-21 09:06:59
【问题描述】:
我为对象验证创建了一个自定义属性,并在TaskValidatorAttribute 类的任何位置设置了一个断点,它似乎没有执行或触发任何操作。请参阅下面的代码:
自定义属性
[AttributeUsage(AttributeTargets.Class)]
public TaskValidatorAttribute: Attribute
{
public TaskValidatorAttribute(Type type)
{
if (type.IsSubclassOf(typeof(BaseClass)))
{
// some code for validation
}
}
}
基类
public abstract class BaseClass {}
继承类
[TaskValidator(typeof(ModelTest))]
public class ModelTest : BaseClass {}
单元测试
public class ModelValidationTests
{
[Fact]
public void ValidateModel()
{
var model = new ModelTest();
model.ShouldNotBeNull();
}
}
我尝试在我的单元测试中运行它以触发我制作的自定义属性,但没有运气。我错过了什么吗?
【问题讨论】:
-
您是否尝试创建自定义验证属性?这可能会从
public TaskValidatorAttribute: Attribute更改为public TaskValidatorAttribute: ValidationAttribute? -
嗨@tontonsevilla,的确,我创建了自己的自定义验证...
-
嗨@tontonsevilla,似乎使用
ValidationAttribute不会触发,hmp.. 不太清楚为什么它不起作用。
标签: c# custom-attributes