私はこのクラスをWebAPIで返そうとしています:
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クラスの両方のプロパティにパブリックセッターがないため、カテゴリは表示されません。
なぜシリアライザーがセッターのアクセス修飾子をチェックしているのか不思議に思います。