如何覆盖从基础控制器asp.net c#继承的动作控制器?

时间:2017-10-01 22:32:28

标签: c# asp.net asp.net-web-api

大家好我想知道是否有办法覆盖从基本控制器继承的动作控制器只是为了添加过滤器属性,这个过滤器属性允许验证用户是否具有执行动作控制器的特定权限,这里是我的基地管制员。

public class BaseController<T> : ApiController where T : Entity<int>

{

    private readonly IEntityService<T> _service;


    public BaseController(IEntityService<T> service )
    {
        _service = service;
    }

    public BaseController()
    {

    }

    public IEnumerable<T> GetAllEntities()
    {
        return _service.GetAll();
    }



}

这是我的子控制器,我想添加过滤器属性注意下面的代码不正确但我想做这样的事情,你知道怎么做吗?谢谢你的关注..

public class ArbitrosController : BaseController<Arbitro>
{


    public ArbitrosController(IArbitroService _ArbitroService):base( _ArbitroService )
    {

    }

    [HasPermission("get")]//filter atribute
    public new IEnumerable<Arbitro> GetAllEntities()
    {

    }

}

1 个答案:

答案 0 :(得分:1)

在基类中使用ignoreInit关键字,在后代中使用TRUE。要从覆盖中访问基类,您可以使用virtual关键字:

override

这是关于C#中继承的tutorial