Il passaggio di dati di istanza oggetto di Attributo
-
21-09-2019 - |
Domanda
Vorrei trasferire alcuni dati da un'istanza di un oggetto per l'attributo, e non ho problemi inderstanding come implementarlo.Ecco un esempio:
[AuthenticateAttribute]
public class MyController: Controller
{
UserInfo info;
}
L'idea è che AuthenticateAttribute
istanza popolare UserInfo istanza.
Voglio passare di riferimento per info
per un'istanza di AuthenticateAttribute
e, di conseguenza, eliminare forte accoppiamento tra l'attributo e il particolare MyController
classe.
È possibile questo?
Soluzione
L'attributo per sé non dovrebbe avere il campo UserInfo
IMO. Tenete a mente che ci sarà un'istanza dell'attributo per il tipo è applicato ad -. Non uno per ogni istanza di quel tipo
Se si potesse fare un esempio più completo (che mostra il codice è applicato a) potremmo essere in grado di aiutare di più ...
Altri suggerimenti
Il Simbolo raccolta di controllore è accessibile dall'attributo e puoi aggiungere la tua UserInfo oggetto, per poi accedere al controller di acions.È inoltre possibile utilizzare il tipo di modello contenente UserInfo.Questo scenario è descritto qui Ottenere il permesso da Autorizzare Attributo?
Cambiando il tipo di campi attributo che viene applicata ad esso, non è comune, e si deve essere molto cauti.