Как вернуть значение по умолчанию для свойства? - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть следующий класс типов Graphql, включая класс POCO: Order.cs.

Здесь я хочу установить значение по умолчанию для каждого поля. Например, для Name я хочу вернуть «Без имени», если для него не возвращено значение. В случае Created я хочу вернуть сегодняшнюю дату по умолчанию.

public class OrderType : ObjectGraphType<Order>
{
    public OrderType(ICustomerService customers)
    {
        Field(o => o.Id);
        Field(o => o.Name);
        Field(o => o.Description);
        Field(o => o.Created);
    }
}

public class Order
{
    public Order(string name, string description, DateTime created, string Id)
    {
        Name = name;
        Description = description;
        Created = created;
        this.Id = Id;
    }

    public string Name { get; set; }

    public string Description { get; set; }

    public DateTime Created { get; private set; }

    public string Id { get; private set; }
}

Может кто-нибудь помочь мне решить эту проблему?

1 Ответ

0 голосов
/ 05 ноября 2018

Если вы используете C # 6+, он добавил возможность назначать значение по умолчанию для авто-свойств . Так что вы можете просто написать что-то вроде этого:

public string Name { get; set; } = "No Name";
public DateTime Created { get; private set; } = DateTime.Today;

При этом для свойства Name по умолчанию будет установлено значение No Name, а для свойства Created - сегодняшняя дата, как вы и хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...