Метод класса возвращающий ссылку на объект - 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(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д