c# - C# 向菜单项添加无限数量的选项
问题描述
所以我有一个菜单应用程序,其中一道菜可能有一个或多个选项,并且每个选项都加价。像汉堡包一样,然后加培根 1 美元,蘑菇加 50 美分,等等。
这就是我的想法。我需要预先定义每个菜单项可以接受的 7 个或 8 个菜单选项吗?或者我可以有 1 个选项/价格,并且每个选项都会在需要更多选项时添加?
UI 方面我希望在卡片布局中有一个菜单项。MenuItemName、MenuItemPrice,然后在 Options 下方,如果需要另一个选项,将有一个(添加)按钮,因此可以添加一个新的选项行。
using System;
namespace MenuConsole
{
public interface IMenuOption
{
void OptionName();
void OptionPrice();
}
public class MenuItem : IMenuOption
{
public string MenuItemName { get; set; }
public decimal MenuItemPrice { get; set; }
public void OptionName()
{
throw new NotImplementedException();
}
public void OptionPrice()
{
throw new NotImplementedException();
}
}
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
解决方案
您需要在菜单项中定义菜单选项列表:
public interface IMenuOption
{
void OptionName();
void OptionPrice();
}
public class MenuItem
{
public string MenuItemName { get; set; }
public decimal MenuItemPrice { get; set; }
public List<IMenuOption> Options { get; set; }
}
推荐阅读
- github - github将管理员添加到公共组织
- mysql - JOOQ,连接多个表时,“on 子句”中的未知列“ideas_service.parent_section.id”
- excel - Excel:在字符串中查找一定长度的单词?
- sails.js - Sails 应用程序在不调用船长上传时崩溃
- apache - Apache2 ServerName 和 ServerAlias 不起作用
- java - 想要根据 Spring Profile 编组不同的 POJO 字段集
- backup - 如何使用 tar 验证磁带备份?
- c++ - 在 qt 上使用 cmake 在 armhf 上的编译问题“语法错误:wird unexpected (expecting ")"”
- sql - 如何计算给定间隔内的记录?
- react-native - React-native 本机基础日期选择器问题