necesitaria saber como hago esa conversion implicita y asi poder aprender de ello para que no me vuelva a ocurrir gracias, un saludo!
Código
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using static ejerciciopracticotema3.Program; namespace ejerciciopracticotema3 { public class Program { public DefinicionGeneral[] inventarioTienda; public float aPagar { get; set; } public float dinero { get; set; } public class Naranjas : DefinicionGeneral, IAPeso { public float precioPorKg { get; set; } public bool aPeso { get; set; } public void SetVarNaranjas() { precioPorKg = 0.75f; aPeso = true; SetNameId("Naranjas", precioPorKg,0.75f); } public Naranjas(float x, bool b) { precioPorKg = x; aPeso = b; } } public class Berenjenas : DefinicionGeneral, IAPeso { public float precioPorKg { get; set; } public bool aPeso { get; set; } public void SetVarBerenjenas() { precioPorKg = 0.85f; aPeso = true; SetNameId("Berenjenas", precioPorKg, 0.85f); } public Berenjenas(float x, bool b) { precioPorKg = x; aPeso = b; } } public class Pelota : DefinicionGeneral,IUnitario { public float precioPorItem { get; set; } public int cantidad { get; set; } public void SetVarPelota() { precioPorItem = 1.60f; cantidad = 1; SetNameId("Pelota", 1, 1.60f); } public Pelota(float x, int c) { precioPorItem = x; cantidad = c; } } public class Yatekomo : DefinicionGeneral, IUnitario { public float precioPorItem { get; set; } public int cantidad { get; set; } public void SetVarYatekomo() { precioPorItem = 2.20f; cantidad = 1; SetNameId("Yatekomo", 1, 2.20f); } public Yatekomo(float x, int c) { precioPorItem = x; cantidad = c; } } static void Main(string[] args) { //p.inventarioTienda = p.inventarioTienda = Inventario.InventarioTienda(); // aqui me tira el error aunque imagino que sera por algo que esta mal en la lista Console.WriteLine("Bienvenidos a tiendas paqui"); Console.WriteLine(" "); Console.WriteLine("tenemos todo esto disponible en tienda: "); foreach(DefinicionGeneral dG in p.inventarioTienda) { Console.WriteLine( dG.name + " Tiene un precio de "+ dG.precio); } Console.WriteLine(" "); Console.WriteLine("Que cantidad de dinero tienes disponible? "); p.dinero = int.Parse(Console.ReadLine()); Console.WriteLine("Perfecto tienes disponible para gastar: " + p.dinero + " Euros"); Console.WriteLine(" "); Console.WriteLine("elige que Kg deseas comprar: "); } } public static class Inventario { public static List<DefinicionGeneral> inventarioDeLaTienda; public static List<DefinicionGeneral> InventarioTienda() // esta es la lista que tengo que llamar { { }; } } public abstract class DefinicionGeneral { public string name { get; set; } //nombre del producto public float iD { get; set; } // id del producto public float precio { get; set; } public virtual void SetNameId(string s, float i, float ip) { name = s; iD = i; precio = ip; } } interface IAPeso// interfaz que define si el objeto se pesa o no { public float precioPorKg { get; set; } public bool aPeso { get; set; } } interface IUnitario { public float precioPorItem { get; set; } public int cantidad { get; set; } } }