Avatar billede Lasse Novice
20. april 2006 - 18:33 Der er 2 kommentarer og
1 løsning

Enum to long

Jeg har en enum value gemt i et object. Jeg ved ikke om underlaeggende data type er Int16, Int32 eller Int64. Jeg skal have konverteret denne vaerdi til en Int64.

private enum T2 : long
{
    G = 1,
    H = 2
}

private enum T : int
{
    G = 1,
    H = 2
}

object o2 = T2.G;
long i2 = (long)o2; // ok

object o = T.G;
long i = (long)o; // fejler her

Jeg er interesseret i at caste til long, eftersom alle enum'erne kan castes dertil. Hvad kan jeg goere her uden at goere foelgende:

// UNDONE The following seems to be bad programming. But how to?
switch (Type.GetTypeCode(typeof(T)))
{
  case TypeCode.Int32:
      // Cast to Int32 and then Int64 and do job
      break;
  case TypeCode.Int64:
      // Cast to Int64 and do job
      break;
}
Avatar billede arne_v Ekspert
20. april 2006 - 18:41 #1
proev:

long i = Convert.ToInt64(o);
Avatar billede Lasse Novice
20. april 2006 - 18:52 #2
Kanont, svar => point
Avatar billede arne_v Ekspert
20. april 2006 - 18:58 #3
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester