An object reference is required for the nonstatic field, method, or pr...

martedì 10 marzo 2009 - 11.59

valerik Profilo | Junior Member

Ciao a tutti,
allora il mio problema e' questo

dal main viene richiamato un metodo "public static void..." che a sua volta dovrebbe chiamare un altro metodo "public static" di un'altra classe.
Da quest' ultima classe dovrei chiamare un altro metodo(sulla stessa classe) "public void..." e da qui arriva l'errore in oggetto.
Quindi ricapitolando io ho:

class Server { public static void connection(string strImei) { .... string valore = Servizio.versionControl(version); ... } }

class Servizio { public static string versionControl(string versione) { //qui ho l'errore inviaFile(invioFi); } public void inviaFile(FileInfo fi) { .... } }

Come posso correggere il flusso?
Grazie
valerik

aiedail92 Profilo | Expert

Ciao

L'errore ti dice che le funzioni non statiche le puoi chiamare soltanto su di un oggetto inizializzato, quindi una funzione non statica può chiamarne una non statica indirettamente (perchè viene sottointeso che l'oggetto su cui viene richiamata è this), mentre una funzione statica non può farlo perchè non appartiene a nessun oggetto.

Le vie per risolvere sono due in base allo scenario in cui ti trovi: o rendi statica la funzione inviaFile, oppure crei un oggetto di tipo Servizio dalla funzione statica e poi richiami inviaFile su quell'oggetto:

public static string versionControl(string versione) { Servizio service = new Servizio(); service.inviaFile(invioFi); }

Luca
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