panfra ha scritto:
Passo da una routine ad un altra un oggetto.
Quando poi nella seconda routine faccio riferimento ad una proprietà dell'oggetto mi esce l' errore che non c'è la proprietà..
Determina_Tipo(V, Numero + 1,Com_Servizio, Log , Salva_Frase);
...
....
private void Determina_Tipo(string V, int POS, bool Com_Servizio,bool Log,object Salva_Frase)
Salva_Frase.frase = "..... "
mi è accaduto solo questa volta....
Grazie.
Nella firma del metodo hai scritto
object Salva_Frase
quindi i metodi che potrai utilizzare saranno quelli della classe
Object.
Non puoi invocare i metodi della tua classe, anche se questa eredita da
Object, in quanto da
Object ereditano TUTTE le classi quindi potenzialmente potresti passare un oggetto di qualsiasi tipo come parametro, quindi non è possibile accedere in sicurezza alla proprietà che ti interessa, ossia frase, a meno di non fare un controllo preventivo ed eseguire un "cast" convertendo quell'
Object nel tipo corretto, una volta verificato che questo sia possibile.
Come ti è stato già detto però, manca una parte consistente di codice e non è chiaro perché tu passi un oggetto appartenente a un tipo specifico usando il tipo
Object nel parametro.
Sorvolo completamente su qualsiasi commento relativo allo standard di codifica e al fatto che usi perennemente convenzioni errate nel naming di qualsiasi elemento, rendendo il codice illeggibile, ma ormai ci ho rinunciato.
Ciao!