Bea*_*ood 1 .net c# asp.net-web-api angularjs
我有一个角度控制器,它是一个Web API方法的帖子.我试图在ienumerable上添加null安全性,但是当我这样做时,导致ienumerable总是为空.
角度呼叫
$http.post(customer/DoSomething, {names: ["chris", "joe"]})
Run Code Online (Sandbox Code Playgroud)
方法
string DoSomething(Customer customer){...}
Run Code Online (Sandbox Code Playgroud)
模型
// populates IEnumerable
public class Customer
{
public IEnumerable<string> Names {get; set;}
}
// what I want to do but IEnumerable is always empty
public class Customer
{
private IEnumerable<string> _names;
public IEnumerable<string> Names
{
get
{
return _names ?? new List<string>();
}
set
{
_names = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以添加一个初始化集合的构造函数.
// populates IEnumerable
public class Customer
{
public Customer()
{
this.Names = new List<string>();
}
public IEnumerable<string> Names {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
它将确保您的Names集合不为空.
编辑
现在已经使用C#auto属性简化了这一点
// populates IEnumerable
public class Customer
{
public IEnumerable<string> Names {get; set;} = new List<string>();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
954 次 |
| 最近记录: |