我有一個類,如:我怎麼能有一種虛擬靜態成員在C#
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
}
所以我想有(例如)所有月餅可以共享成份的靜態列表,而不是一個列表PE r實例的Cake並能夠以虛擬方式訪問它。
如果需要,我願意激起代碼來獲得類似的效果!
@Gtevil爲什麼你必須讓你列表'static'? – 2011-10-09 16:32:59
此外,'C#'中沒有'public'或'private'繼承。所有繼承必須是「公共」的。 – 2011-10-09 16:53:09
@ Mr.DD我希望列表是靜態的以節省內存並避免不必要的列表初始化,我只需要在應用程序啓動時執行一次,而不是每個實例一次。是的 - 我不需要那裏的公共遺產,可能每天都有太多的工作潛入! –