Индексаторы C#, значения вывода, при различных индексах

103
14 августа 2019, 16:20

я понимаю для чего служат индексаторы, но вот столкнулся с заданием, и просто не понимаю, как правильно вызвать и как передать... имеется перечисление(enum):

 public enum Frenquency
    {
        Wekly, Monthly, Yearly
    }

Имеется класс с индексатором(не буду выкладывать весь, выложу индексатор):

public bool this[Frenquency index]
        {
            get
            {
                if (Frenquency == index)
                {
                    return true;
                }
                else
                    return false;
            }
        }

Создаю объект класса, где данный индексатор, далее по заданию требуется, цитата:

Вывести значения индексатора для значений индекса Frequency.Weekly, Frequency.Monthly и Frequency.Yearly.

И тут у меня вопрос, как мне это просто напросто сделать, я действительно не понимаю.. Заранее спасибо за помощь!

Answer 1

"значения индексатора" - ?

public class Magazine {
  public Frenquency Frenquency { get; set; }
  public bool this[Frenquency index]
  {
    get { return Frenquency == index; }
  }
}
Magazine mag = new Magazine();
Console.WriteLine(mag[Frenquency.Wekly]);    // true
Console.WriteLine(mag[Frenquency.Monthly]);  // false
Console.WriteLine(mag[Frenquency.Yearly]);   // false
Answer 2

Решение моей проблемы, было найдено методом "тыка", за что стыдно, однако найдено:

Magazine mag = new Magazine();//этой мой класс с индексатором имеется конструктор поумолчанию
Console.WriteLine(mag[(Frenquency)2]);
READ ALSO
Ошибка The property is not a navigation property of entity type

Ошибка The property is not a navigation property of entity type

Пытаюсь установить связь, с таблицей другой в asp net core, у меня выдает ошибку:

122
Как удалить данные из DataSet?

Как удалить данные из DataSet?

Хочу удалить из базы выделенный элемент

99
StreamWriter не хочет записывать в файл ответ [закрыт]

StreamWriter не хочет записывать в файл ответ [закрыт]

Программа считывает 2 числа с файла и выполняет матдействия, а StreamWriter не хочет записывать в файл ответ

120
Не работает IntelliSense для C# в VScode под GNU\Linux

Не работает IntelliSense для C# в VScode под GNU\Linux

Расширение установлено, проект создан через dotnet 22

123