Ciao a tutti,
come posso passare come parametro un array di tipo struct ad una funzione definita in un altre classe? Devo definire la struct sia nella classe chiamante e sia nella classe chiamata?
Ho trovato una soluzione, che funziona, ma non so se è proprio corretta.
Ho definito una classe e l'ho chiamata, per esempio, clsTipoClienti:
public class clsTipoCliente
{
public string codice_cliente;
public string codice_user;
public clsTipoCliente()
{
codice_cliente = string.Empty;
codice_user = string.Empty;
}
}
Nella classe Cliente definisco:
clsTipoClienti[] aClienti = new clsTipoClienti[2];
//Inizializzo l'array di classi
for (int i=0;i<2;i++)
aClienti[i] = new clsTipoClienti();
//richiamo la funzione
DatBanker.getClienti(ref aClienti);
in clsDataBanker definisco:
public void getClienti(ref clsTipoClienti[] aClienti)
In questo modo non devo ripetere la struct nella classe chiamante e nella classe chiamata quando devo passare un parametro composto. Ma non sono sicuro che sia una soluzione pulita.
Grazie mille!