繁体   English   中英

制作这个摘要需要哪些步骤?

[英]What steps are needed to make this abstract?

我正在学习 .NET Core Web API。 我有一个 model class 像这样:

namespace Game.Models
{
    public class Game
    {
        public int GameId { get; set; }
        public string Question { get; set; }
        public string [] Options { get; set; }
        public string Answer { get; set; }
    }
}

问题是我有一个有多个答案的游戏,所以我需要

public string[] Answer { get; set; }

如何在我的游戏 class 中创建此行为? ^

我想过这个:

public class Answers
{
    private string ans;
    private string[] anss;

    public Answers(string answer)
    {
       ans = answer
    }

    public Answers(string [] answers)
    {
       anss = answers
    }
}

我考虑过使用接口,但我认为这不是这里的用例。 我试图把所有东西都打成一个结来理解这一点。 对于任何人的帮助,我将不胜感激。

我认为这个问题不是技术性的,而是结构性的。 如果我理解正确,您想要两种类型的游戏:

  1. 单答案游戏
  2. 多答案游戏

因此,考虑到这一点,您可以创建 Enum,如下所示:

public enum GameType
{
    SingleAnswer,
    MultipleAnswer
}

关于这一点,我建议您可以 model 使用标准的OneToMany关系,其中Game 是 principal entityAnswer 是dependent entity

免责声明我将在示例中使用列表,但可以根据用例轻松替换为 arrays。

public class Game
{
    public int Id { get; set; }

    public string Question { get; set; }

    public List<string> Options { get; set; }

    public GameType Type { get; set; }

    public List<Answer> Answers { get; set; }
}

public class Answer
{
    public int Id { get; set; }
  
    public string Content { get; set; }

    public int GameId { get; set; }
}

因此,在向游戏添加答案的验证逻辑中,您可以使用GameType作为有效性参数和可以链接到单个游戏的最大可能答案数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM