[ASP.Net] bit field naar checkbox list en vice versa

Pagina: 1
Acties:

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 26-12-2025
Ik heb niet echt een probleem, maar even een stijl probleempje. Ik vraag mij namelijk af hoe je het beste een checkboxlist kan vullen met een bit field (enum met FlagsAttribute, dus 1,2,4,8, etc...).

Ik heb nu de volgende (pseudo-)code:
C++:
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
34
35
36
37
//c#

[Flags]
public enum MyEnum {
Kip=1,
Koe=2,
Schaap=4,
Varken=8
}

CheckBoxList myList;
//code om lijst te vullen
myList.DataSource = Enum.GetValues(typeof(MyEnum));

//code om de juiste waarden te selecteren in de checkboxlist op basis van bitfield
MyEnum combo = Kip | Varken;

int bitCounter = 1;
foreach(ListItem item in myList.Items) 
{
MyEnum test = (MyEnum)bitCounter;
if((combo & test) > 0) 
{
item.Selected = true;
}
bitCounter = bitCounter * 2;
}

//code om de waarden uit checkboxlist te halen
ProjectType otherCombo;
foreach(ListItem item in myList.Items) 
{
if(item.Selected) 
{
otherCombo |= (MyEnum)Enum.Parse(typeof(MyEnum), item.Value, true);
}
}


Omdat ik deze code min of meer omslachtig vindt vroeg ik mij af of er misschien een makkelijkere/nettere/snellere oplossing is?

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!