У меня есть класс, подобный:
public class Food
{
public static IList<Ingredient> ingredients
public bool uses(Ingredient i)
{
return ingredients.Contains(i);
}
}
Затем я наследую его, чтобы делать различные виды пищи, такие как:
public class Cake : public Food
{
public static IList<Ingredient> ingredients = new List<Ingredient>()
{
Sugar,
Eggs,
Milk
}
}
Теперь я хочу уметь
Food f = getFood();
if (f.uses(Eggs))
{
// Do something
}
Итак, я хочу иметь статический список ингредиентов, которые (например) могут использовать все торты, а не список для каждого торта и иметь доступ к нему виртуальным способом.
Я готов поменять код, чтобы получить аналогичный эффект, если нужно!