2016-07-15 7 views
1

Hier sind meine drei Methoden,Mehrwert zu einer Liste von Posten in einer Klasse C#

public class abcOrder 
{ 
    public Items items { get; set; } 
} 

public class Item 
{ 
    public string orderrefno { get; set; } 
    public string sku { get; set; } 
    public string qty { get; set; } 

} 

    public class Items 
    { 
     public List<Item> item { get; set; } 
    } 

jetzt i wie unten zuweisen möchten,

abcOrder.items.item.Add(new Item 
     { 
      orderrefno = "12345", 
      sku = "sk8765", 
      qty = 3 
     }); 

Aber ich bin immer Elemente als null in abcOrder.items. Bitte helfen.

+0

Sie haben Ihre 'Liste item' nicht initialisiert! –

Antwort

1

Zunächst verstehe ich nicht, warum Sie die Items Klasse haben. Warum nicht einfach die abcOrder Klasse eine List-Eigenschaft haben?

Aber Ihr Problem ist, dass Sie nie Ihre Objekte initialisiert haben. Sie können das Objekt nicht verwenden, wenn Sie es nie wirklich erstellt haben. Der einfachste Weg, dies zu tun, ist im Klassenkonstruktor, so.

public class abcOrder 
{ 
    public abcOrder() 
    { 
     items = new Items(); 
    } 
    public Items items { get; set; } 
} 
public class Items 
{ 
    public Items() 
    { 
     item = new List<Item>(); 
    } 
    public List<Item> item { get; set; } 
} 
+0

danke. Ich benutze Json Serializer. Um die Json im richtigen Format zu erstellen, brauche ich die Items-Klasse. Vielen Dank – Dezler

Verwandte Themen