none
Ayuda en C# pasar parametros a una clase RRS feed

  • Pregunta

  • Amigos, tengo un problema con mi código, ocurre lo siguiente... Tengo un formulario 

    El cual agrego una conexión con una pesa... 

    tengo el siguiente código que me esta funcionando para conectarme a los silos que es el siguiente 

        public class conexion1
        {
            private const int portNum = 93;
            private const string hostname = "192.168.2.36";
            private const int dato = 0;
            public string conectar()
            {
                try
                {
                    TcpClient client = new TcpClient(hostname, portNum);
                    NetworkStream ns = client.GetStream();
                    byte[] bytes = new byte[1024];
                    int bytesRead = ns.Read(bytes, 0, bytes.Length);
                    string dato = Encoding.ASCII.GetString(bytes, 4, bytesRead);
                    string  peso = "";
                    Regex regex = new Regex(@"[^\d]*([\d]*)[^\d]*.");
                    Match result = regex.Match(dato);
                    if (result.Success)
                        peso = result.Groups[1].Value;
                    return peso;
                }
                catch (ArgumentNullException e)
                {
                    Console.WriteLine(e.ToString());
                }
                    
                catch(SocketException e)
                {
                    Console.WriteLine(e.ToString());
    
                }
                return "";
            }
        }

    Mi problema es que necesito agregar otra clase como "conexion2" y pesarla los valores de "puerto" y "ip" y el otro codigo dejarlo intacto, como se podria hacer? alguna ayudita pls

    Ojala se entienda 

    Saludos y muchas gracias 

    • Cambiado Karen Malagón viernes, 4 de septiembre de 2015 22:50 Windows Forms issue
    viernes, 4 de septiembre de 2015 13:49

Todas las respuestas

  • Buen día, entiendo que quiere obtener hostname y port, desde otra clase que se encargue solo de acceder a la clase "conexion 1".

     public class conexion2:conexion1
        {

       
            public string Ip
            {
                get { return base.Hostname; }
               
            }
           

            public int Port
            {
                get { return base.PortNum; }
              
            }
        }

    viernes, 4 de septiembre de 2015 14:18
  • Hola:

     Si solo requieres de otra clase el cual te permita el paso de parámetros podrías sobrecargar su constructor:

    	public class Conexion2
    	{
    		private string _ip;
    		private string _puerto;
    
    		public Conexcion2(string ip, stirng puerto)
    		{
    			_ip = ip;
    			_puerto = puerto;
    		}
    	}
    //Lo mandarias a llamar
    Conexion2 _conexion2 = new Conexion2(ip, puerto);

    Algo como eso, despues dentro de la clase puedes usar los parámetros como gustes.

     Espero sea esto lo que andas buscando.


    Saludos desde Monterrey, Nuevo León, México!!!

    viernes, 4 de septiembre de 2015 14:21
  • hola

    podrias crear una clase como ser

    public class conexion2{
    
        private string _ip;
        private string _port;
    
        public conexion2(string ip, string port){
              _ip = ip;
              _port = port;
        }
    
        //resto codigo
    
    }

    entonces desde el codigo defines los valores de ip y conexion que podrias tomar del archivo .config

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 4 de septiembre de 2015 14:22