Атрибут Bind: передать массив вместо определения в параметрах - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь передать массив привязки вместо определения параметров.Например, этот код:

    [HttpPost]
    [Route("Create")]
    public ResultsItem Create([Bind(nameof(Person.Username), nameof(Person.Password))] Person)
    {
        ...
    }

Работает нормально, однако, если он станет большим, у меня будет большой список привязок.Вместо этого я хотел определить его в классе, как показано ниже:

Person.cs

public static readonly string[] BindInclude = new[] { nameof(Username), nameof(Password) };
public ResultsItem Create([Bind(Person.BindInclude)] Person newUser)

Однако я получаю следующую ошибку: An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type.

Я понимаю ошибку, однако мне интересно, у кого-нибудь есть хороший способ сделать это?Допустим, у меня большой класс, однако я хочу связывать только 6-10 свойств.Как я могу сделать это, не заливая Bind[()] в контроллере.

...