Как установить несколько свойств с помощью Lambda в делегате Action - PullRequest
0 голосов
/ 30 апреля 2018

Это, вероятно, просто, но я не могу понять, как установить несколько свойств в одном операторе.

LCCorsOptions.cs

public class LCCorsOptions
{
    public int AppId { get; set; }
    public string Version { get; set; } = "1.0";
}

Это то, что я получил до сих пор:

app.UseLCCors(o => o.Version = "1.0");

Я пробовал несколько подходов, но безуспешно

Ответы [ 3 ]

0 голосов
/ 30 апреля 2018

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

app.UseLCCors(new LCCorsOptions{Version = "1.0", AppId = 2});
0 голосов
/ 30 апреля 2018

Я предполагаю, что вы используете метод расширения, который выглядит примерно так:

  public static void UseLCCors(this List<LCCorsOptions> list, Action<LCCorsOptions> action)
    {
        foreach (var item in list)
        {
            action(item);
        }
    }

Если это так, попробуйте поставить несколько скобок после лямбда-знака следующим образом:

app.UseLCCors(x => { x.Version = "1"; x.AppId = 1; });

Это то, что вы искали?

0 голосов
/ 30 апреля 2018

Речь идет о лямбда-синтаксисе, часть справа - это обычное тело метода, которое вы можете сократить, если оно равно 1 выражению или 1 выражению. В противном случае используйте полные { } и ;

app.UseLCCors(o => {o.Version = "1.0"; o.AppId = 2; });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...