Foros del Web » Programación para mayores de 30 ;) » .NET »

duda sobre delegados

Estas en el tema de duda sobre delegados en el foro de .NET en Foros del Web. Hola!! Estoy estudiandome esta parte de delegados y me encuentro con una duda... Ej.. estoy creando una clase de prueba llamada Persona la cual le ...
  #1 (permalink)  
Antiguo 13/08/2007, 09:02
 
Fecha de Ingreso: junio-2006
Mensajes: 89
Antigüedad: 17 años, 10 meses
Puntos: 0
duda sobre delegados

Hola!!

Estoy estudiandome esta parte de delegados y me encuentro con una duda...

Ej.. estoy creando una clase de prueba llamada Persona la cual le hice un metodo llamado Comer, ahora bien, lo que estoy tratando de hacer es que ese metodo Comer, se le pase como parametro el nombre de la funcion que implementa dicha accion ["comer"] (un puntero a una funcion).

Código:
class Program
    {
        static void Main(string[] args)
        {
            Persona s = new Persona();

            s.Comer(miComer);
            Console.ReadLine();
        }

        public static void miComer()
        {
            Console.WriteLine("entre aqui");
        }
    }

    class Persona
    {
        public delegate void miDelegate();

        public void Comer( Sandy h )
        {
           
        }
    }
este es el ejemplo en el cual estoy, pero no me imprime el texto "entre aqui" que esta dentro de la funcion que estoy tratando de llamar. ?


saludos.
espero haberme explicado bien.

Última edición por bleach; 13/08/2007 a las 09:19
  #2 (permalink)  
Antiguo 13/08/2007, 11:49
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
Re: duda sobre delegados

En ningún momento invocas al delegado, el método Comer debería ser algo como:
Código:
public void Comer( miDelegate d )
{
if (d != null) d();
}
Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:25.