Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Codename!! en 29 Marzo 2010, 12:56 PM

Título: Static y estas cosas.. ( C# )
Publicado por: Codename!! en 29 Marzo 2010, 12:56 PM
Hola amigos! esto trabajando con varios forms, y he tenido que hacer algunos metodos staticos y demas, el problema viene cuando unos componentes del form ( en el que estan) me piden que no sean staticos.

el error que me suelta este:

Error 1 An object reference is required for the non-static field, method, or property 'Test.PanelPrimario.status'


es un simple Status que va cambiando el texto segun voy actualizando cosas y demas.

He probado a intentar acceder a demas componentes del formulario y no puedo desde ese metodo estatico, desde los demas ( que no lo son) no hay problema al acceder..

cual es el problema??
Título: Re: Static y estas cosas.. ( C# )
Publicado por: raul338 en 29 Marzo 2010, 14:27 PM
Los metodos estaticos son precisamente para que puedas acceder sin referencias a la clase. Como la clase MessageBox o Console. pero los metodos estaticos solo pueden acceder a propiedades estaticas (mala practica :P), los metodos comunes pueden acceder a los 2.

Una solucion que se me ocurre, es que te armes un sub main principal (o un formulario que controle todo) y de ahi pasas los valores entre referencias. Algo asi (es pseudo codigo):

Código (csharp) [Seleccionar]

int main() { // Esto se parece a C xD
   FormPrincipal frmPrincipal = new FormPrincipal();
   if (frmPrincipal.ShowDialog() == DialogResult.OK) {
       FormularioQueHaceElTrabajo frmWorker = new FormularioQueHaceElTrabajo();
       frmWorker.Parametros = frmPrincipal.ParametrosElegidos; // Aca pasamos los datos mediante propiedades
       frmWorker.Trabajar();
       frmWorker.Dispose();
   }
   frmPrincipal.Close();
   frmPrincipal.Dispose();
}


Se entiende? Claro, asi es simple, si quieres hacer algo mas "complejo" puedes trabajar con eventos y llamarlos desde el sub main y entrar un bucle infinito (ver la clase program que se crea cuando hacemos un proyecto de formularios) y listo :P salir cuando el form lo indique
Título: Re: Static y estas cosas.. ( C# )
Publicado por: Codename!! en 30 Marzo 2010, 13:58 PM
Gracias! mirare a ver que es lo que me invento jeje