[C#] object naar class parsen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

ik heb een Hashtable. Daarin de waardes staan classes.

bijv:
C#:
1
2
3
4
5
6
7
8
public static Hashtable _servers = new Hashtable();

public static void LoadBots()
{
 //hierwordendingen in class geladen/gestart etc.
_servers.Add(servername,data);

}


ik heb al geprobeerd de object naar class te parsen op deze manier:
C#:
1
(Servertje)Enum.Parse(typeof(Servertje),._botlist["servertjenaam"]);


maar op die manier kan je alleen strings parsen. weet iemand een ander idee hoe ik een class kan parsen?

of een andere manier om een classes aan te besturen vanuit een lijst waarvan ik de key kan veranderen?

Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

C#:
1
Blaat b = (Blaat) hashTable["blaat3"];
:?
Of waarom gebruik je geen Dictionary<TKey,TValue>?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:58

Haan

dotnetter

Sebazzz schreef op maandag 04 januari 2010 @ 17:47:
C#:
1
Blaat b = (Blaat) hashTable["blaat3"];
:?
Of waarom gebruik je geen Dictionary<TKey,TValue>?
Inderdaad, HashTables zijn zó .Net 1.1 ;)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Depep
  • Registratie: Juni 2007
  • Laatst online: 27-07 13:15
http://unboxedsolutions.com/sean/archive/2005/07/06/671.aspx

Maar kan je niet gewoon een cast gebruiken? Je hebt nogal wat data weggelaten, maar ik ga er vanuit dat ._botlist ook naar een Hashtable verwijst en dat je in die Hashtable Servertje objecten hebt opgeslagen. Ik zie niet waarom het volgende niet zou werken:

C#:
1
(Servertje)(._botlist["servernaam"])


edit: spuit 11 :)

[ Voor 11% gewijzigd door Depep op 04-01-2010 17:54 ]

specs


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Haan schreef op maandag 04 januari 2010 @ 17:50:
[...]

Inderdaad, HashTables zijn zó .Net 1.1 ;)
Dat is (voor mij) niet de hoofdreden maar List<T> en Dictionary<TKey,TValue> bieden twee grote voordelen tegenover ArrayList en Hashtable:
• Het is strong typed: Compile time check je al op fouten en je kan dus geen rare bugs in je code krijgen doordat je altijd met hetzelfde type moet werken
• Boxing en unboxing kost behoorlijk van performance, vooral bij value types.

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:58

Haan

dotnetter

Dat is precies wat ik met mijn opmerking bedoelde ja. Een Dictionary heeft vrijwel altijd de voorkeur om te gebruiken, maar generics heb je pas vanaf .Net 2.0 ;)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor jullie info! ik kan weer verder.

Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Je bent sowieso verkeerd aan het denken. Je wilt namelijk niks "Parsen", maar je wilt Casten. Dat is een begrip wat in elk goed boek/cursus uitgelegd zou moeten worden.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1