Gå til innhold

Anbefalte innlegg

Folkens. Det er mulig jeg har en skikkelig Brainfart akkurat nå men jeg får bare ikke til å prototype en datatype som baserer seg på strenger. Sett følgende:

 

public enum Utvalg
{
a, b, c, d;
}

public Utvalg VelgUtvalg()
{
  bla, bla, bla
  return Utvalg.a;
}

Dette er jo helt greit, men jeg vil ha tilmed en STRING og jeg kan jo ikke definere en ENUM som string. Tenkte jeg kunen definere en CLASS

public static class Utvalg
{
 public const string a = "Valg A";
 public const string b = "Valg B";
}

men dette gir jo ingen mening når jeg skal prototype. For da må jeg jo alikevel prototype med STRING og da er jeg jo like langt

 

Noen som vet noe om dette...

Lenke til kommentar
Videoannonse
Annonse

Tror ikke dere svarte på spørsmålet mitt nå gutter :-)

 

Når man lager en ENUM så kan man prototype en metode til å returnere eller ta imot akkurat denne enumen. Det betyr jo at man begrenser funksjonen til å ta imot et begrenset sett med verdier.

 

Eksempelvis kan man jo prototype en funksjon til å ta imot ukedag enumen. Dermed vil ikek funksjonen kunne ta imot verdier utenfor dette området. Jeg skulle jo gjerne gjort noe tilsvarende for strenger. men dette er kansje ikke mulig. Kansje i C#4 ;-) Er jo mye nyttige greier som vistnok skal komem i C#4, som f.eks. omittable parameters - Ole gleder seg...

Lenke til kommentar
  • 1 måned senere...
Når man lager en ENUM så kan man prototype en metode til å returnere eller ta imot akkurat denne enumen. Det betyr jo at man begrenser funksjonen til å ta imot et begrenset sett med verdier.

 

Bare for å strø litt salt i såret - on en metode tar en enum som parameter, kan du sende inn et hvilket som helst tall (begrenset til den typen som faktisk ligger bak enumen din: int, byte osv.) til metoden uten at det feiler - du trenger bare en cast (on uke-enumen din heter UkeDag, så er (UkeDag)64 en lovlig verdi)

 

Cato

Lenke til kommentar

Ja, det vet jeg, men hvis man kommer i en slik situasjon så er jo ting gjort feil. En prototype er der for en grunn og hvis man bruker CAST på denne måten for å omgå så mener jeg man gjør en feil i koden.

 

Det fine med å kunne prototype med ENUM etter min mening er jo at man også får kodehjelp under veis. Jeg synes dette er kjempe bra. Visual Studio's intellicense gjør virkelig en god jobb med dette.

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...