Como ligar parâmetros de método no atributo personalizado

Eu tenho um atributo personalizado chamado AuthoriseAttribute cujo construtor se parece com isso:

<code>public AuthoriseAttribute(int userId)
{
  .. blah
}
</code>

Isso é usado com um método chamadoGetUserDetails() como isso:

<code>[Authorise(????????)]
public UserDetailsDto GetUserDetails(int userId)
{
  .. blah
}
</code>

No tempo de execução, a presença do atributo Authorize faz com que algum código de autorização seja executado, o que requer o ID do usuário. Obviamente, isso pode ser extraído do parâmetro doGetUserDetails() método, mas isso significa que o código de autorização depende do parâmetro do método receber um nome específico.

Eu gostaria de poder passar o valor real douserId parâmetro no atributo, para que o código de autorização funcione com o valor passado para o atributo (ou seja, não o parâmetro do método), cujo nome é conhecido.

Algo parecido com isto (o que não funciona):

<code>[Authorise(userId)]
public UserDetailsDto GetUserDetails(int userId)
{
  .. blah
}
</code>

É possível uma coisa dessas?

questionAnswers(3)

yourAnswerToTheQuestion