¡Estoy obteniendo un divertido error de compilación! También lo pegaré aquí: "el tipo (mi clase) debe ser de tipo no anulable para usar como parámetro 'T' en el método genérico"el tipo (mi clase) debe ser de tipo no nulo para usar como parámetro 'T' en un método genérico
Esto no tiene sentido para mí ya que mi método no es genérico Así es como yo llamo el código erróneo:
Item? inputtedItem = SearchProduct(txtProduct.Text);
Mientras tanto, aquí es la definición de SearchProduct:
private Item? SearchProduct(string product)
{
//If this is the first item to be entered into the inventory
if (_inventory == null || _inventory._productList.Count == 0)
{
return null;
}
//Return the Item's instance if it appears in the inventory. Otherwise return null.
return _inventory[product];
}
supongo que voy a añadir el indexador de mi clase de inventario aquí por si acaso :
public Item this[string i]
{
get
{
Item returnItem;
_productList.TryGetValue(i, out returnItem);
return returnItem;
}
set
{
_productList.Add(i, value);
}
}
¿Alguien sabe qué pasa?
Gracias por la ayuda.
¿Es 'Item' una 'struct'? – dtb
¿'SearchProduct' es una implementación de un método de interfaz? ¿Una interfaz que podría tener un parámetro genérico 'T' para el que ingresó' Item'? – Virtlink
Creo que TryGetValue es su método genérico. ¿Cuál es exactamente el tipo de _productList? –