Как правильно изменять список одной сущности из другой? Есть какой-то профсоюз и у него есть список мероприятий, этот список может редактировать только профорги. Как правильно осуществить изменение списка мероприятий? class ProfOrg
{
public ProfOrg(List events)
{
this.events = events;
}
private List events;
public void AddEvent(UnionEvent unionEvent)
{
events.Add(unionEvent);
}
}
class Union
{
public Union()
{
events = new List();
profOrg = new ProfOrg(events);
}
private List events;
private ProfOrg profOrg;
public List Events { get { return new List(events);} }
}
Или же добавить методы добавления/редактирования мероприятий в сам класс профсоюза?

21 Авг 2019 в 07:01
243 +1
0
Ответы
1

Можно добавить методы добавления/редактирования мероприятий в сам класс профсоюза. Например, вы можете добавить методы AddEvent и EditEvent в класс ProfOrg:

class ProfOrg
{
public ProfOrg(List<UnionEvent> events)
{
this.events = events;
}
private List<UnionEvent> events;
public void AddEvent(UnionEvent unionEvent)
{
events.Add(unionEvent);
}
public void EditEvent(UnionEvent oldEvent, UnionEvent newEvent)
{
int index = events.IndexOf(oldEvent);
if (index != -1)
{
events[index] = newEvent;
}
}
}

Затем вы сможете вызывать эти методы из класса Union для изменения списка мероприятий:

class Union
{
public Union()
{
events = new List<UnionEvent>();
profOrg = new ProfOrg(events);
}
private List<UnionEvent> events;
private ProfOrg profOrg;
public void AddEvent(UnionEvent unionEvent)
{
profOrg.AddEvent(unionEvent);
}
public void EditEvent(UnionEvent oldEvent, UnionEvent newEvent)
{
profOrg.EditEvent(oldEvent, newEvent);
}
public List<UnionEvent> Events { get { return new List<UnionEvent>(events); } }
}

Таким образом, вы сможете правильно осуществить изменение списка мероприятий через методы класса ProfOrg, которые доступны только профоргам.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир