【发布时间】:2018-03-19 02:31:23
【问题描述】:
大家好,感谢您的帮助! 首先我告诉你背景。我必须在 Windows 8 通用应用程序上做一个饮料自动售货机模拟器。 我的课程是:
经理(制造机器并放入配料和饮料),
VendingMachine(有配料和饮料的清单,检查是否有足够的饮料等)
具有名称和数量的成分类,
具有名称、价格等的抽象基类 Drink 和
类 Tea、Coffee 和 Chocolate 从 Drink 继承并拥有自己的成分实例列表。
现在,当我在机器中选择一种饮料时,我会从它的名称中检查每种成分,如果机器上存在同名的成分,我会检查是否还有剩余的成分,然后我会拿一个.
问题是,添加一种新类型的饮料应该很容易,但是(!)如果成分的名称不完全相同,它将不起作用。 所以我想做一个枚举,我在机器上做了这样的:
public enum IngredientsNames
{
Coffee,
Tea,
Chocolate,
Sugar,
Milk
}
成分类是:
class Ingredient
{
public string name { get; private set; }
public int amount;
public Ingredient(string _name)
{
name = _name;
}
}
但问题是如果我想在自动售货机类中做:
IngredientNames.Coffee = "Coffee" ;
上面写着
“赋值的左边必须是变量、属性或索引器”
明确地说,我希望如果有人打开一种新的饮料类型,并且 Ingredient.Coffee 它会自动给他“咖啡”这个名字的字符串,他不必自己给这个名字,之后没有错误。
我希望我很清楚。感谢您的帮助,我还在这方面开始。
【问题讨论】:
-
你能否展示
Ingredient类的定义及其构造函数,将字符串“Coffee”解析为Ingredients枚举成员的逻辑将在其中。每当某些东西“不起作用”时,请包含完整的错误消息(编译器错误或运行时异常信息)。 -
对不起,我是网站的新手,我根据您的要求在帖子中做了一些编辑
-
检查这是否是你想要做的?给出枚举名称和描述。 stackoverflow.com/a/46424653/7974050
-
它对我不起作用,我想给用户添加一种新类型的饮料,一个小清单,他可以选择他想要的成分并返回对应的字符串
标签: c# windows class enums universal