HDSoftware Skrevet 2. november 2007 Del Skrevet 2. november 2007 (endret) Heisann Har en klasse i et ClassLib som håndtere en fil for meg. Denne klassen blit brukt i en list<minklasse> og er selvsagt av typen public, både klassen og listen. Når jeg lager en referanse til denne DLL'en og legger på namespacet så kan jeg uten problemer med intellisense kode mot denne llisten, men jeg får en feilmelding som sier "Foreach statement cannot operate on variables of type 'HDSoftware.FileManager.File' because 'HDSoftware.FileManager.File' doesn not contain a public definition for GetEnumerator'" Hva i alle dager er dette for noe? Det er jo bare snakk om en helt vanlig liste som bruker en klasse som element (edit): Fant det ut Var jo bare jeg som ikke skreiv koden min riktig. Henviste til klassen i stedet for listen i Foreach uttrykket. Glem det med andre ord ;-) Endret 2. november 2007 av HDSoftware Lenke til kommentar
GeirGrusom Skrevet 2. november 2007 Del Skrevet 2. november 2007 Jeg legger til hva GetEnumerator er og slikt bare. Fore each bruker et av to interfaces, IEnumerable, eller IEnumerable<T> Det enkleste og beste er å bruke IEnumerable<T> Det man gjør, er at man implementerer IEnumerable<T> hvor T er datatypen som brukes i listen. Deretter kan man i GetEnumerator enten lage sin egen klasse, eller bare returnere f.eks. List<T>.GetEnumeratorhvis det er en intern array eller lignende. 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å