Skinney Skrevet 10. juni 2010 Del Skrevet 10. juni 2010 Hepp! Jeg har en klasse som kun brukes som "forelder" av andre klasser. Er det mulig å finne ut hvor mange barn denne forelder-klassen har og identifisere disse? Jeg har enkelte klasser som jeg bruker for å forberede forskjellige data på dataoverføring, problemet er at når jeg skal motta en slik klasse, skulle jeg kjørt en for-loop og finnet ut hva slags klasse jeg har motatt ved å sammenligne en variabel... Jeg vet dette er mulig i C#, men aner ikke hva metoden heter (så google blir litt vanskelig) :/ Lenke til kommentar
zotbar1234 Skrevet 10. juni 2010 Del Skrevet 10. juni 2010 Jeg har en klasse som kun brukes som "forelder" av andre klasser. Er det mulig å finne ut hvor mange barn denne forelder-klassen har og identifisere disse? Nei, det er ikke mulig. Dvs. problemet er at antall slike klasser kan variere fra et til et annet tidspunkt i programmet (den andre veien er imidlertid veldig lett -- gitt en klasse er det trivielt å finne alle superklassene), og det finnes ingen pekere fra super til subklasse. Du kan muligens undersøke hele omgivelsen for klasser, men da har du kun tilgang til den "aktive" omgivelsen (dvs. det lokale, globale og builtin-navnerommet på det tidspunktet når kallet gjøres, hvilket er noe annet igjen). Jeg har enkelte klasser som jeg bruker for å forberede forskjellige data på dataoverføring, problemet er at når jeg skal motta en slik klasse, skulle jeg kjørt en for-loop og finnet ut hva slags klasse jeg har motatt ved å sammenligne en variabel... Eh? Hvis du kan sende forskjellige typer over nettverket, må typebeskrivelsen være en del av serialiseringsprotokollen din *og* typen må være kjent både for avsender og mottager (f.eks. at de gjør de samme importene). Da ser jeg ikke helt problemet ditt -- det er bare å hente den klassen hvis beskrivelse du har i typebeskrivelsesfeltet i serialiseringsprotokollen. Den mest primitive utgaven for dette blir pickle (dog den er uegnet for nettverksoverføring grunnet sikkerhetsproblematikker), men det kan gi en ide om hvordan du kunne gå fram. Lenke til kommentar
Skinney Skrevet 10. juni 2010 Forfatter Del Skrevet 10. juni 2010 Jupp, er sånn jeg har tenkt selv, men har sett det blitt gjort på måten jeg forklarte i ett annet program, aner ikke hvordan dog, forsto ikke koden Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå