如何解决避免未密封的混凝土属性规则



有人请告诉我我正面临避免未密封的混凝土属性规则?描述:如果定义的属性既具体(即非抽象)又未密封,则触发此规则。这是一个性能问题,因为这意味着 System.Attribute.GetCustomAttribute 必须在属性类型层次结构中搜索派生类型。要解决此问题,请密封类型或使其抽象。

在下面的代码行中,只有我收到此错误。

public class TestAuthorize : AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext) {
            base.OnAuthorization(filterContext);
        }
    }

如何避免上述错误?

public sealed class TestAuthorize : AuthorizeAttribute

当不打算从类派生时,通常不密封类,根据 MS 最佳性能实践,这是性能损失(尽管我不确定这个惩罚有多大)。

最新更新