首页 > 解决方案 > 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!");
    }
}
}

标签: c#.netmodel-view-controller

解决方案


您需要在菜单项中定义菜单选项列表:

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; }
}

推荐阅读