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)
{
}
}
Above es la clase, solo para algunos antecedentes.C# Referencia del objeto no establecida en una instancia de un objeto. ¿Instanciando clase dentro de una lista?
public void AddProduct(string name, decimal price, int quantity)
{
lstOrderitem.Add(new OrderItem(name, price, quantity));
}
En el código dentro del método AddProduct es donde obtengo el error indicado en el título.
Solo intento crear una instancia de la clase y agregarla a una colección para que se muestre en un cuadro de lista en mi programa de formulario.
El "addProduct" se llamará en un evento de clic de botón
= Error NullReferenceException - Referencia a objeto no establecida como instancia de un objeto.
Me preguntaba si alguien sabía por qué estaba ocurriendo ya que pensé que ya que estoy haciendo una nueva instancia de la clase al tiempo que añade a la lista que tendría algo que hacer referencia también. Gracias si alguien sabe cuál es el problema.
Editar
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));
}
Utilice el depurador, esto debería ayudarlo en el futuro. –
'// List lstOrderitem = new List ();' era casi correcto: debe eliminar la parte '// List ' para que sea una inicialización de una propiedad miembro en lugar de una declaración local. –
dasblinkenlight
Ahh bien intentaré todo esto y me pondré en contacto con ustedes gracias por ayudarme. – Taemint