Toon posts:

[vb.net]Maak een object uit een string

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo iedereen,

Ik heb een vraag over vb.net, maar ik weet niet op wat ik moet zoeken in google. Daarom zal ik het proberen te omschrijven. Als mij iemand opweg zou kunnen helpen, of kunnen vertellen waarop ik moet zoeken, dat zou ik zeer tevreden zijn :)

Ok het is als volgt. Ik heb bv de klasses "Persoon" & "Datum". Ik zou in mijn code een object van een van de twee klassen willen aanmaken aan de hand van een string. Als er in die string staat "Persoon". Dan zou er een object moet worden gemaakt van de klasse Persoon. De bedoeling is wel dat het bij alle klasses werkt, zonder telkens een if te maken bij elke klasse die ik nodig heb. In feite gewoon een string omzetten naar een type.

Ik vind het moeilijk te omschrijven. Als je meer info nodig hebt vraag maar gerust...

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

Ga eens kijken naar Reflection :)

Maar ik zou toch eens nadenken over je ontwerp, want meestal kan zoiets vermeden worden.

[ Voor 58% gewijzigd door Snake op 27-01-2009 16:42 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • asfaloth_arwen
  • Registratie: Februari 2005
  • Laatst online: 17:53
code:
1
Activator.CreateInstance(Type.GetType(string)), Baseclass)


Zou moeten werken indien ze een gezamelijke baseclass hebben.

(Van: http://social.microsoft.c...22-4458-85b4-32c32e12f7a9)

Specs


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23:37

Janoz

Moderator Devschuur®

!litemod

Eens met Snake. Het kan, maar over het algemeen wil je dit niet tenzij je er een duidelijke case omheen kunt schrijven. Hoe wil je je object uberhaupt gebruiken in je code? Uiteindelijk zul je het toch weer moeten kasten naar 1 van de types om er uberhaupt methoden op aan te kunnen roepen. Of wil je daar ook weer reflection voor gaan gebruiken.

Kortom, vertel eens iets meer over waarvoor je het in wilt zetten. Waarschijnlijk ben je namelijk bezig het verkeerde probleem op te lossen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor de reacties het probleem is als volgt. Ik heb overlaatst een chat programma gebruikt om te testen. Ik zou dit nu willen gebruiken om een programma over het netwerk objecten te versturen. Maar het is enkel mogelijk om strings te versturen met dat programma. Daarom dacht ik om van een object een XML-string te maken, en deze dan over het netwerk te versturen, en dan op de client de XML weer om te zetten naar een object. Maar ik zou dit willen kunnen met alle object, zonder afhankelijk te zijn van de klasse die ik schrijf. Ik wil dat alle klassen kunnen omgezet worden, zonder dat ik iets moet aanpassen in de ObjectToXML Klasse.

edit: hetzelfde om verschillende objecten op te slaan die je permantent op te slaan. Zodat je deze de volgende keer opnieuw kan gebruiken door gewoon van de XML weer objecten te maken.

Mss bestaat zoiets al, dan zo het wel zeer gemakkelijk zijn, ofwel een ander oplossing. Ik had beter dit gevraagd dan het ander :)

[ Voor 10% gewijzigd door Verwijderd op 27-01-2009 18:43 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ok, Ik vind juist de System.Xml.Serialization class. Zo is het mogelijk om een object om te zetten in een xml. Toch bedankt voor al de reacties!

Acties:
  • 0 Henk 'm!

  • GrooV
  • Registratie: September 2004
  • Laatst online: 23-09 08:58
Je moet afvragen of je dit serieus wel wil in je ontwerp. Uit eindelijk zal je toch moeten casten om bepaalde functies op een object aan te roepen in je code als je niet alles via reflection wil doen. En reflection kan beduidend slomer zijn!
Pagina: 1