Добавление перечисления в список определенного класса c # - PullRequest
0 голосов
/ 28 февраля 2019

Я пытаюсь добавить значение перечисления в список определенного типа класса.

Это мой класс:

class Vak
{
    public string naamVanVak;
    public int theorieCijfer;
    public enum PraktijkBeoordeling
    {
        Geen, Absent, Onvoldoende, Voldoende, Goed
    }
}

Это мой список, где мне нужнодобавьте мое перечисление в:

            List<Vak> rapport = new List<Vak>();

Вот где решается перечисление:

Vak.PraktijkBeoordeling LeesPraktijkBeoordeling(string vraag)
    {
        while (true)
        {
            Console.Write(vraag);
            string invoer = Console.ReadLine();

            Vak.PraktijkBeoordeling praktijkBeoordeling = new Vak.PraktijkBeoordeling();

            if (invoer.ToLower() == "geen")
            {
                praktijkBeoordeling = Vak.PraktijkBeoordeling.Geen;
            }
            else if (invoer.ToLower() == "absent")
            {
                praktijkBeoordeling  = Vak.PraktijkBeoordeling.Absent;
            }
            else if (invoer.ToLower() == "onvoldoende")
            {
                praktijkBeoordeling = Vak.PraktijkBeoordeling.Onvoldoende;
            }
            else if (invoer.ToLower() == "voldoende")
            {
                praktijkBeoordeling = Vak.PraktijkBeoordeling.Voldoende;
            }
            else if (invoer.ToLower() == "goed")
            {
                praktijkBeoordeling =  Vak.PraktijkBeoordeling.Goed;
            }
            return praktijkBeoordeling;

        }

    }

В настоящее время я пытаюсь сделать следующее:

void LeesRapport(List<Vak> rapport, string vraag, string vraag2, string vraag3)
    {
        for (int i = 0; i < 3; i++)
        {
            Vak vak = LeesVak(vraag);
            rapport.Add(vak);

            Vak theorieCijfer = LeesCijfer(vraag2);
            rapport.Add(theorieCijfer);

            Vak praktijk = LeesPraktijkBeoordeling(vraag3);
            Console.WriteLine("Geen, Absent, Onvoldoende, Voldoende, Goed");
            rapport.Add(praktijk);
        }
    }

Очевидно, этоне работает, но как я могу сделать эту работу?

заранее спасибо

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Кажется, вы пытаетесь добавить Vak.PraktijkBeoordeling в список, в то время как это список Vak.Может быть, вы хотите вернуть Vak, который имеет PraktijkBeoordeling от LeesPraktijkBeoordeling(string vraag)?

0 голосов
/ 28 февраля 2019

Вы не можете добавить их, как это.Следуйте этому примеру

. Создайте класс с помощью Enum get и setter, который вы пропустили:

public class Vak
{
    public string naamVanVak { get; set; }; 
    public int theorieCijfer { get; set; };
    public PraktijkBeoordeling enumPraktijkBeoordeling { get; set; }; //you need to add this one

    public enum PraktijkBeoordeling
    {
        Geen, Absent, Onvoldoende, Voldoende, Goed
    }
}

, затем из вашего основного списка добавьте

List<Vak> rapport = new List<Vak>();

и заполните список:

private void LeesRapport(List<Vak> rapport, string vraag, string vraag2, string vraag3)
    {
        for (int i = 0; i < 3; i++)
        {
            Vak vak = new Vak();

            vak.naamVanVak = "data";
            vak.theorieCijfer = 1111;
            vak.enumPraktijkBeoordeling = LeesPraktijkBeoordeling(vraag);
            rapport.Add(vak);


        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...