Я использую строковую интерполяцию для атрибута метода, например -
const string User = "SomeUser";
const string Admin = "Admin";
.
.
.
[Authorize(Roles = $"{User},{Admin}")]
public IHttpActionResult Get()
Но Visual Studio выдает ошибку -
Аргументом атрибута должно быть константное выражение, выражение typeofили выражение для создания массива типа параметра атрибута
Когда я пытаюсь "+" для конкатенации строк, это работает
[Authorize(Roles = User + "," + Admin)]
public IHttpActionResult Get()
Даже если я заменю ","
на ','
этовыдает ту же ошибку.
Интересно, как компилятор обрабатывает интерполяцию строк?