Voglio solo non utilizzare "Gestori" per ogni attributo e utilizzare un certo enume per quello.Usa il nome dell'enumerazione come un parametro di attributo
Ma sembra impossibile o mi sbaglio?
così cerco di sostituire
[RequiresRole("Managers")]
con
[RequiresRole(HardCodedRoles.Managers.ToString())]
...
public enum HardCodedRoles
{
Administrators,
Managers
}
Potrebbe aggiungere ulteriori dettagli in modo che sappiamo che cosa si sta cercando di realizzare? – Maciej
Semplicemente non voglio usare la stringa "AnyRoleName" e voglio mettere qualche elemento da enum al posto di esso. Ma VS dà un errore Un argomento di attributo deve essere un'espressione costante, typeof espressione o espressione di creazione dell'array di un parametro di attributo type –
se HardcodedRoles.Managers è una stringa const, funzionerebbe. D'altra parte, se HardcodedRoles è un'enumerazione, sarà necessario creare una sottoclasse di AuthorizeAttribute e implementare la propria, passando HardcodedRoles e/o HardcodedRoles [] al costruttore. – Maciej