Метод класса возвращающий ссылку на объект - C#
Формулировка задачи:
нужно сделать Свойство типа Paper ссылка на публикацию с самой поздней датой выхода, если список пуст то null
В таком варианте пишет невозможно использовать в данном контексте. Как реализовать такое свойство?
Листинг программы
- class Paper
- {
- // открытое свойство название публикации
- public string Name { get; set; }
- // открытое свойство автор публикации
- public Person Author { get; set; }
- // открытое свойство дата публикации
- public DateTime DatePublic { get; set; }
- // Конструктор с заданными параметрами
- public Paper(string a, Person b, DateTime c)
- {
- Name = a;
- Author = b;
- DatePublic = c;
- }
- // Конструктор без параметров иннициализирующий значениями по умолчанию
- public Paper()
- {
- Name = "UnknownPublication";
- Author = new Person();
- DatePublic = DateTime.Now;
- }
- // перегруженная функция возвращает все поля класса
- public override string ToString()
- {
- return Name+' '+Author.Name+' '+Author.Surname+' '+DatePublic.ToString("dd.mm.yyyy");
- }
- }
- class ResearchTeam
- {
- public string Topic { get; private set; }
- public string Name { get; private set; }
- public int Regnumber { get; private set; }
- public TimeFrame Last { get; private set; }
- public List<Paper> Publics { get; private set; }
- public ref Paper LastPublics
- {
- get
- {
- DateTime MaxDate = DateTime.Parse("01.01.0000");
- int LastP = 0;
- if (Publics.Count == 0)
- return null;
- for (int i = 0; i < Publics.Count; i++)
- if (Publics[i].DatePublic > MaxDate)
- LastP = i;
- return ref Publics[LastP];
- }
- }
- }
Разобрался.
Листинг программы
- public Paper LastPublics
- {
- get
- {
- if (Publics.Count == 0) return null;
- Paper LastPublics = Publics[0];
- for (int i = 0; i < Publics.Count; i++)
- if (Publics[i].DatePublic > LastPublics.DatePublic)
- LastPublics = Publics[i];
- return LastPublics;
- }
- }
Решение задачи: «Метод класса возвращающий ссылку на объект»
textual
Листинг программы
- public Paper LastPublics
- {
- get
- {
- return Publics.OrderByDescending(x => x.DatePublic).FirstOrDefault();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д