Ik heb 2 afzonderlijke lijsten (een List<> en een KeyedCollection<>).
Deze 2 lijsten zitten samen in een classe TMeeting (jaja, sommige weten al waar het voor is)
Nou moet ik meerdere objecten van TMeeting maken, maar als ik dat doe en ik verander iets in 1 van deze objecten...
dan is het in alle objecten veranderd...
Hoe moet ik deze lijsten goed copieren?
versimpelde weergave van TMeeting
De TMemberList:
Deze 2 lijsten zitten samen in een classe TMeeting (jaja, sommige weten al waar het voor is)
Nou moet ik meerdere objecten van TMeeting maken, maar als ik dat doe en ik verander iets in 1 van deze objecten...
dan is het in alle objecten veranderd...
Hoe moet ik deze lijsten goed copieren?
versimpelde weergave van TMeeting
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| class TMeeting
{
private TMemberList Members;
private List<THous> Houses;
private int max_nr_houses;
private int max_nr_invalid_houses;
public TMeeting(int max_houses, int max_invalid)
{
this.max_nr_houses = max_houses;
this.max_nr_invalid_houses = max_invalid;
Houses = new List<THous>();
Members = new TMemberList();
}
public void CopyMeeting(ref TMeeting NewMeeting)
{
THous[] temp_hous = new THous[this.Houses.Count];
TMember[] temp_member = new TMember[this.Members.Count];
this.Houses.CopyTo(temp_hous);
this.Members.CopyTo(temp_member,0);
foreach(THous hous in temp_hous)
{
NewMeeting.AddHous(hous);
}
foreach(TMember member in temp_member)
{
NewMeeting.Members.Add(member);
}
}
} |
De TMemberList:
code:
1
2
3
4
5
6
7
8
9
10
| class TMemberList: KeyedCollection<string, TMember>
{
public TMemberList() : base() { }
protected override string GetKeyForItem(TMember item)
{
// In this example, the key is the part number.
return item.memberNaam;
}
} |
Klus page: http://klusthuis.blogspot.com