Cómo conectar parámetros de método en atributo personalizado

Tengo un atributo personalizado llamado AuthoriseAttribute cuyo constructor se parece a esto:

public AuthoriseAttribute(int userId)
{
  .. blah
}

Esto se usa con un método llamadoGetUserDetails() Me gusta esto:

[Authorise(????????)]
public UserDetailsDto GetUserDetails(int userId)
{
  .. blah
}

En el tiempo de ejecución, la presencia del atributo Autorizar hace que se ejecute algún código de autorización que requiere la ID del usuario. Obviamente, esto se puede extraer del parámetro de laGetUserDetails() método, pero esto significa que el código de autorización depende de que el parámetro del método reciba un nombre particular.

Me gustaría poder pasar el valor real de lauserId parámetro en el atributo, de modo que el código de autorización funcione con el valor pasado al atributo (es decir, no el parámetro del método), cuyo nombre se conoce.

Algo como esto (que no funciona):

[Authorise(userId)]
public UserDetailsDto GetUserDetails(int userId)
{
  .. blah
}

¿Es posible tal cosa?