2012-11-13 42 views
0

我想在網頁API返回這個類:的WebAPI:屬性,它是複雜對象的集合是alwasy空

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; 
    } 

無論出於何種原因,分類收集總是返回空... 上午我遺漏了什麼 ?

謝謝!

更新:

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的訪問修飾符。

+0

您是否通過添加斷點來檢查類別的值是否存在?我不確定什麼'新列表(){fruits};'請發佈類別類的構造函數。 – Yasser

回答

0

分類類有2個屬性,都有私人setter;私人二傳手的屬性不會被序列化。

0

我已驗證私人問題已在web api RTM版本中得到解決。

相關問題