public class OrderItem
{
public string ProductName { get; private set; }
public decimal LatestPrice { get; private set; }
public int Quantity { get; private set; }
public decimal TotalOrder { get {return LatestPrice * Quantity;}}
public OrderItem(string name, decimal price, int quantity)
{
}
public OrderItem(string name, decimal price) : this(name, price, 1)
{
}
}
Sopra è la classe, solo per un po 'di background.C# Riferimento dell'oggetto non impostato su un'istanza di un oggetto. Classe di istante in una lista?
public void AddProduct(string name, decimal price, int quantity)
{
lstOrderitem.Add(new OrderItem(name, price, quantity));
}
Sul codice all'interno del metodo AddProduct è dove si trova l'errore indicato nel titolo.
Sto solo provando a creare un'istanza della classe e aggiungerla a una raccolta da visualizzare in una lista nel mio programma di moduli.
Il "addProduct" saranno chiamati su un evento click del pulsante
errore = NullReferenceException - riferimento oggetto non impostato a un'istanza di un oggetto.
Mi chiedevo se qualcuno sapeva perché questo stava accadendo poiché pensavo che dal momento che sto facendo una NUOVA istanza della classe mentre aggiungo alla lista che avrebbe qualcosa da fare riferimento anche. Grazie se qualcuno sa qual è il problema.
Modifica
public List<OrderItem> lstOrderitem{ get; private set; }
public int NumberOfProducts { get; private set; }
public decimal BasketTotal { get; private set; }
public ShoppingBasket()
{
//List<OrderItem> lstOrderitem = new List<OrderItem>();
}
public void AddProduct(string name, decimal price, int quantity)
{
lstOrderitem.Add(new OrderItem(name, price, quantity));
}
Utilizzare il debugger, questo dovrebbe essere d'aiuto in futuro. –
'// Elenco lstOrderitem = new List ();' era quasi corretto: è necessario rimuovere '// List ' part per renderlo un'inizializzazione di una proprietà membro piuttosto che una dichiarazione locale. –
dasblinkenlight
Ah, va bene, prova tutto questo e torna da te grazie ragazzi per avermi aiutato. – Taemint