我正在尝试在web api中返回此类:
public IEnumerable<Product> Get()
{
var fruits = new Category("Fruits");
var veggies = new Category("Veggies");
var apple = new Product("apple");
apple.Categories = new List<Category>() { fruits };
var potato = new Product("Potatoes");
potato.Categories = new List<Category>() { veggies };
var banana = new Product("Banana");
banana.Categories = new List<Category>() { fruits };
List<Product> list = new List<Product>(){
apple, potato, banana
};
return list;
}
无论出于何种原因,Categories集合总是返回空... 我错过了什么吗?
谢谢!
更新
public class Category
{
public string Id { get; private set; }
public string Name { get; private set; }
public Category() { }
public Category(string name)
{
if (string.IsNullOrEmpty(name))
throw new ArgumentException("name must be set");
this.Name = name;
}
}
Aaand ..它不会显示类别,因为Category类中的两个属性都没有公共setter。
让我想知道为什么序列化程序正在检查setter的访问修饰符。
答案 0 :(得分:0)
类别类有2个属性,都有私有的setter;私有setter的属性不会被序列化。
答案 1 :(得分:0)
我已经验证私有设置问题已在web api RTM版本中修复。