为什么自定义验证属性应该密封在C#中



我正在尝试为数据注释创建一个自定义的C#验证属性(不带密封关键字(。

public class MyValidatorAttribute : ValidationAttribute
{
}

但微软的网页上写着";使类不可继承"为什么?

我是否因为允许";我的等级"类是否可继承?

根据此代码分析规则,这是出于性能原因。

当检索自定义属性时,.NET通常会搜索继承层次结构,这可能会增加可能不需要的开销。

这不会阻止您创建一个由几个密封实现继承的抽象属性。

最新更新