Nome oggetto dinamico in funzione

mercoledì 13 novembre 2013 - 23.27
Tag Elenco Tags  C#

pelling10 Profilo | Junior Member

Salve sto iniziando da poco a sviluppare delle piccole applicazioni in c# 2005, chiedevo se e come fosse possibile passare il nome di un oggetto ad una funzione.
Mi spiego meglio

ho una funzione:

private void scrivi_testo(string testo)
{
textbox1.text = testo;
}

alla funzione vorrei passare come parametro anche il nome dell' oggetto (textbox1.text) ma non so come dichiararlo e come passarlo

ho provato a scrivere:

private void scrivi_testo(string testo, object oggetto)
{
oggetto.text = testo;
}

ma mi da errore....... potreste aiutarmi grazie!!!!!

Vinsent Profilo | Senior Member

Detto in parole povere....Object comprende tutte le classi a livello basilare, la TextBox è una classe che eredita dalla classe Control, tutti i controlli ereditano da Control.
Quindi con Object puoi accedere solo a "basso livello" alla classe che gli assegni, per usarlo dovresti fare una conversione verso Control/TextBox.
Quindi se devi accedere alla proprietà Text puoi usare sia Control che
TextBox. Con il primo accedi alla proprietà di tutti i controlli mentre con il secondo solo se gli passi una TextBox, in caso contrario si genera una eccezione.
Spero si capisca la spiegazione.....

pelling10 Profilo | Junior Member

Puoi farmi un esempio per favore?

Vinsent Profilo | Senior Member

>Puoi farmi un esempio per favore?
NO...non conosco C#....ma la "teoria" è quella che ho cercato di descrivere...
Semplicemente, nella void, cambia object con textbox e dovrebbe funzionare....

pelling10 Profilo | Junior Member

Ok ci provo e ti faccio sapere...... Grazie

pelling10 Profilo | Junior Member

Grazie mille funziona!!!!!!
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5