[c#] convertire enumerazione in string

lunedì 14 dicembre 2009 - 15.14

Amodio Profilo | Expert


salve a tutti
ho una funzine che accetta come parametro stringa, un numero
per gestire tale numero, ho creato una enumerazione:
public enum TipoPagina { ListaInterventi= 1, Intervento= 2, }
ma nonostante alla funzoine gli passo
Tipopagina t; funzione (t.Intervento)
mi da errore proprio sul parametro "impossibile convertire in sting...bla la bla
poi se metto
Tipopagina t; funzione ((string)t.Intervento)
siu arrabbia sul fatto che non è possibile convertire Tipopagina in string
GRRRRR sto odiando c#!!!! vb anche se stupido non è cosi tipizzato!

Brainkiller Profilo | Guru

>siu arrabbia sul fatto che non è possibile convertire Tipopagina
>in string

Ma la definizione della funzione dov'è ?
Tu hai messo un funzione () ecc. Incolla proprio il prototipo di funzione, tipi di parametri, e la chiamata alla funzione.
Ciao


David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Teech Profilo | Expert

Più banalmente, perchè la funzione accetta un tipo stringa come parametro e non un tipo 'TipoPagina'?
Function (t As TipoPagina) As Ritorno

Gestisci tu la funzione o è di terzi?
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

Amodio Profilo | Expert

no, la funzione è fatta da terzi
praticamente è un servizio web che vuole un numero, il quale è un codice identificativo che abbiamo noi

Teech Profilo | Expert

Invece che usare un semplice Enum potresti creare una classe per gestire i TipiPagina. Ad esempio:
Namespace Enumerazioni Public Enum TipiPagina End Enum End Namespace Public Class TipiPagina Private _tipoPagina As Enumerazioni.TipiPagina Public Property Value() As Enumerazioni.TipiPagina Get Return _tipoPagina End Get Set (value As Enumerazioni.TipiPagina) _tipoPagine=value End Set End Property Public Overloads Function ToString() As String Select Case _tipoPagina Case Enumerazioni.TipiPagina.<valoreEnumerazione> Return <stringa> Case Else Return String.Empty End Select End Sub End Class
Magari ho detto una gran cavolata e basta molto meno, ma non mi viene in mente altro...
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole

aiedail92 Profilo | Expert

Io non ho capito se prende una stringa contenente un numero ("1") o un identificativo ("Intervento"); comunque sia non c'è bisogno di farsi tanti problemi in nessuno dei due casi:

Caso 1: la stringa contiene il numero:
TipoPagina t = TipoPagina.Intervento; funzione(((int)t).ToString());

Caso 2: la stringa contiene l'identificativo:
TipoPagina t = TipoPagina.Intervento; funzione(t.ToString());

Luca

Teech Profilo | Expert

Devo dire che mi sono perso in un bicchier d'acqua... Luca ha sicuramente centrato il problema meglio di me
--------------
Maurizio Brini
--------------
Nessuna impresa è mai stata compiuta da un uomo ragionevole
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5