Usare enum nel costruttore di una classe

domenica 23 maggio 2010 - 21.57

TaiChi Profilo | Junior Member

Salve a tutti,

sto costruendo una form che funga da messagebox personalizzata e ho impostato una enum con i vari livelli di gravità dell'errore così:

private enum Gravity : int { lieve = 0, moderato = 1, serio = 2, grave = 3, critico = 4 }

e vorrei usare questa nel costruttore della form in modo da richiamarlo e impostarlo quando istanzio la form da un altro punto del programma ma non ho capito come fare, per la verità non so neanche se sia la scelta più giusta.

Accetto molto volentieri suggerimenti.

Grazie molte.

Alessio Forconi

[EDIT]
Mi rispondo da solo, è bastato creare una variabile privata nella classe del form del tipo Gravity che ho chiamato mGravity e nel costruttore ho dichiarato questo parametro Gravity gravitylevel così è facile poi richiamarlo istanziando il costruttore così:

xtraMsgBox msgbox = new xtraMsgBox(xtraMsgBox.Gravity.serio);
msgbox.ShowDialog();

Per funzionare funzione, ma la domanda è ... avrò fatto tutto bene?

Abbiate pazienza....

alx_81 Profilo | Guru

>Salve a tutti,
CIao
>Per funzionare funzione, ma la domanda è ... avrò fatto tutto bene?
tranquillo, hai seguito la strada corretta
Non c'è nulla di male a passare dei parametri enum ad un metodo, anche se è il costruttore.
Senza quel parametro non potresti definire il tipo di layout che devi dare alla form, quindi, direi che non c'è niente di meglio che costruirla come ti serve.

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

kataklisma Profilo | Senior Member

>Salve a tutti,
Ciao!

>sto costruendo una form che funga da messagebox personalizzata
>e ho impostato una enum con i vari livelli di gravità dell'errore
>così:
>...
>...
>e vorrei usare questa nel costruttore della form in modo da richiamarlo
>e impostarlo quando istanzio la form da un altro punto del programma
>ma non ho capito come fare, per la verità non so neanche se sia
>la scelta più giusta.
>
>Accetto molto volentieri suggerimenti.

Come gia detto da Alessandro non è assolutamente sbagliato passare parametri al costruttore di questo genere, tranquillo ;)

Un'altra possibilità (e ce l'hai sotto gli occhi) è quella di "emulare" la classe messagebox e quindi creare un metodo "Show" che prenda come parametri tutto cio di cui hai bisogno!

>Grazie molte.
Di niente ;)
------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/

TaiChi Profilo | Junior Member


>Un'altra possibilità (e ce l'hai sotto gli occhi) è quella di
>"emulare" la classe messagebox e quindi creare un metodo "Show"
>che prenda come parametri tutto cio di cui hai bisogno!
Moooolto interessante, vuoi dire che posso ereditare una classe da MessageBox e modificarla a mio piacimento?

Alessio Forconi

alx_81 Profilo | Guru

>
>>Un'altra possibilità (e ce l'hai sotto gli occhi) è quella di
>>"emulare" la classe messagebox e quindi creare un metodo "Show"
>>che prenda come parametri tutto cio di cui hai bisogno!
>Moooolto interessante, vuoi dire che posso ereditare una classe
>da MessageBox e modificarla a mio piacimento?
ehehe.. tutte le classi che ti consentono di essere ereditate, possono essere completamente estese e personalizzate. Puoi anche ridefinire alcuni metodi se la classe da cui erediti te lo consente. E' il bello della programmazione ad oggetti, EREDITARIETA', POLIMORFISMO e INCAPSULAMENTO

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

kataklisma Profilo | Senior Member

>ehehe.. tutte le classi che ti consentono di essere ereditate,
>possono essere completamente estese e personalizzate. Puoi anche
>ridefinire alcuni metodi se la classe da cui erediti te lo consente.
>E' il bello della programmazione ad oggetti, EREDITARIETA', POLIMORFISMO
>e INCAPSULAMENTO

e gia...

Nella programmazione, volere è potere.

E' inutile ripetere quello che ti ha già detto Alessandro!

Buona fortuna ;)

------------------------------------------
Ignazio Catanzaro

http://blogs.dotnethell.it/swdev/
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5