Perché un filtro azione personalizzato deve ereditare da ActionFilterAttribute e IActionFilter?

3

Per la prima volta creo un filtro azioni personalizzato e seguo questo link link

Stanno dicendo di estendere la classe ActionFilterAttribute e implementare anche l'interfaccia IActionFilter . ActionFilterAttribute implementa già IActionFilter . Mi chiedo perché ho bisogno di implementare nuovamente l'interfaccia nella mia classe di attributi. È qualcosa da fare? Apprezzerò molto se per favore puoi chiarire questa ambiguità.

    
posta user576510 05.11.2014 - 00:06
fonte

2 risposte

3

Non è necessario specificare nuovamente l'interfaccia poiché la classe base lo implementa già, è ridondante aggiungerla di nuovo ma non dovrebbe danneggiare nulla neanche.

Inoltre non so perché stanno implementando esplicitamente l'interfaccia invece di sovrascrivere i metodi virtuali esistenti che già implementano l'interfaccia.

    
risposta data 05.11.2014 - 04:13
fonte
1

O forse è semplicemente un errore. ad esempio puoi ereditare eather da

1) FilterAttribute, IActionFilter

O

2) ActionFilterAttribute

il primo su fornisce un comportamento a basso livello degli attributi MVC oltre alle proprietà Order e AllowMultiple .
e il secondo fornisce meno dettagli più OnResultExecuting e OnResultExecuted capacità.

    
risposta data 30.05.2015 - 11:26
fonte

Leggi altre domande sui tag