Foro de elhacker.net

Programación => .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:

Código:
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
  1. int main() { // Esto se parece a C xD
  2.   FormPrincipal frmPrincipal = new FormPrincipal();
  3.   if (frmPrincipal.ShowDialog() == DialogResult.OK) {
  4.       FormularioQueHaceElTrabajo frmWorker = new FormularioQueHaceElTrabajo();
  5.       frmWorker.Parametros = frmPrincipal.ParametrosElegidos; // Aca pasamos los datos mediante propiedades
  6.       frmWorker.Trabajar();
  7.       frmWorker.Dispose();
  8.   }
  9.   frmPrincipal.Close();
  10.   frmPrincipal.Dispose();
  11. }
  12.  

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