如何 return 一个 属性 的默认值?
How to return a default value for a property?
我有以下 Graphql 类型 class,包括 POCO class:Order.cs
。
这里我想设置每个字段的默认值。例如,对于 Name
我想 return "No Name" 以防它没有价值 returned。在 Created
的情况下,我想默认 return 今天的日期。
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; }
}
谁能帮我解决这个问题?
如果您使用的是 C# 6+,它已添加 the ability to assign a default value to auto-properties。所以你可以简单地写这样的东西:
public string Name { get; set; } = "No Name";
public DateTime Created { get; private set; } = DateTime.Today;
这会将 Name
属性 的默认值设置为 No Name
并将 Created
属性 的默认值设置为今天的日期,如您所愿。
我有以下 Graphql 类型 class,包括 POCO class:Order.cs
。
这里我想设置每个字段的默认值。例如,对于 Name
我想 return "No Name" 以防它没有价值 returned。在 Created
的情况下,我想默认 return 今天的日期。
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; }
}
谁能帮我解决这个问题?
如果您使用的是 C# 6+,它已添加 the ability to assign a default value to auto-properties。所以你可以简单地写这样的东西:
public string Name { get; set; } = "No Name";
public DateTime Created { get; private set; } = DateTime.Today;
这会将 Name
属性 的默认值设置为 No Name
并将 Created
属性 的默认值设置为今天的日期,如您所愿。