Private hnombredelplato As String Property nombredelplato As String Private hingredientesparaplato As Collection Property Read ingredientesparaplato As Collection Public Sub _new(nomdeplato As String, ...) Dim ingredientenecesario As Ingrediente Dim nomingrediente As Ingrediente hnombredelplato = nomdeplato hingredientesparaplato = New Collection For Each nomingrediente In Param ingredientenecesario = New Ingrediente(nomingrediente.nombre, nomingrediente.unidades) hingredientesparaplato.Add(ingredientenecesario, ingredientenecesario.nombre) Next End Private Function nombredelplato_Read() As String Return hnombredelplato End Private Sub nombredelplato_Write(Value As String) hnombredelplato = Value End 'Probablemente se pueda abreviar Public Function TotalDePlatos(existencias As Ingrediente[]) As Integer Dim totaldeplatosposiblesconingrediente As Integer Dim ingredienteconmenosexistencias As Ingrediente Dim i As Integer ingredienteconmenosexistencias = existencias[0] totaldeplatosposiblesconingrediente = ingredienteconmenosexistencias.unidades / hingredientesparaplato[ingredienteconmenosexistencias.nombre].unidades For i = 1 To existencias.Count - 1 If totaldeplatosposiblesconingrediente < existencias[i].unidades / hingredientesparaplato[ingredienteconmenosexistencias.nombre].unidades Then ingredienteconmenosexistencias = existencias[i] Endif Next Return ingredienteconmenosexistencias.unidades / hingredientesparaplato[ingredienteconmenosexistencias.nombre].unidades End Private Function ingredientesparaplato_Read() As Collection Return hingredientesparaplato End