有人请告诉我我正面临避免未密封的混凝土属性规则?描述:如果定义的属性既具体(即非抽象)又未密封,则触发此规则。这是一个性能问题,因为这意味着 System.Attribute.GetCustomAttribute 必须在属性类型层次结构中搜索派生类型。要解决此问题,请密封类型或使其抽象。
在下面的代码行中,只有我收到此错误。
public class TestAuthorize : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext) {
base.OnAuthorization(filterContext);
}
}
如何避免上述错误?
public sealed class TestAuthorize : AuthorizeAttribute
当不打算从类派生时,通常不密封类,根据 MS 最佳性能实践,这是性能损失(尽管我不确定这个惩罚有多大)。