Guillermo Javier Salazar STAFF TEAM
Mensajes : 181 Puntos : 349 Localización : México Comentarios : El azar favorece a una mente preparada.
| Tema: Delegados. Vie Mar 11, 2011 10:06 pm | |
| Delegados.Cuando hablamos de herencia, establecemos la relación “es un” y tenemos los accesos a los métodos de la clase base. Pero cuando una clase requiere acceso a los métodos de otra clase en la que no establece la relación “es un”, podemos implementar los delegados. El delegado debe estar declarado igual que los métodos que va a referenciar. Primero veremos un ejemplo sencillo de como usarlo, creamos una aplicacion de windows: - Código:
-
using System; using System.Windows.Forms;
namespace WindowsFormsApplication2 { public partial class Form1 : Form { delegate void mydelegado(string texto); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { mydelegado md = new mydelegado(new programa().metodo); md("Mexico"); } }
public class programa { public void metodo(string texto) { MessageBox.Show("C# Programadores " + texto); } } } Aquí declaramos el delegado "mydelegado" con la palabra reservada delegate, y establecemos que no regresara valores (void) y pasara como parámetros una cadena string, estas son las mismas características que tiene el método "metodo()" de la clase "programa". Dentro del evento del button1 se crea un objeto de nuestro delegado "mydelegado" y se le referencia el método "metodo()" utilizando una instancia de la clase "programa" (new programa().metodo). Luego le mandamos como parámetros la cadena "Mexico", dentro del método "metodo" solo se muestra la cadena. Este es el principio básico de un Delegado. | |
|