Ir ao conteúdo

Delegate e Events


Plástico Bolha

Posts recomendados

Postado

Oi pessoal, por favor me ajudem a criar um exemplo simples de evento, Segue o código que estou tentando compilar:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace delegacao{

// Declaração
public delegate void SimplesDelegate();
public event SimplesDelegate EV; // Estou com erro aqui . . Não sei porque não posso criar o evento

class ExemploDeDelegate
{
public static void minhaFuncao()
{
Console.WriteLine("Eu fui chamada por um delegate ...");
}

public static void Main()
{
// Instanciação
SimplesDelegate simplesDelegate = new SimplesDelegate(minhaFuncao);


}
}

}

Postado

Valeu arrumei:


using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication3
{



class ExemploDeDelegate
{
public delegate void SimplesDelegate();
public event SimplesDelegate EV;
public static void minhaFuncao()
{
Console.WriteLine("Eu fui chamada por um delegate ...");
}

public static void Main()
{
// Instanciação
SimplesDelegate simplesDelegate = new SimplesDelegate(minhaFuncao);


}
}
}

Postado

Oi pessoal eu estava fazendo testes com "event". A minha dúvida é . . . Mesmo eu não tendo usado "+=" o que eu fiz abaixo é considerado evento ? Porque todos os exemplos que eu fiz eu fiz com "=" . . .Se alguém souber me da uma ajuda por favor.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace delegacao
{
public class Estoque
{
public delegate void NomeDelegate();
public event NomeDelegate Evento = new NomeDelegate(FUNCAO);

public void FUNCAO_DISPARA_EVENTO()
{
Evento();
}

public static void FUNCAO()
{
Console.WriteLine("Executa !");
}

}
class Program
{
static void Main(string[] args)
{
Estoque OBJETO = new Estoque();
OBJETO.FUNCAO_DISPARA_EVENTO();
Console.ReadKey();
}
}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace delegacao{
public class Estoque
{
public delegate void NomeDelegate(object sender,string e);
public event NomeDelegate Evento = new NomeDelegate(FUNCAO);

public void FUNCAO_DISPARA(string e)
{
Evento(this,e);
}

public static void FUNCAO(object sender, string e)
{
Console.WriteLine("Nome: " + e);
}

}
class Program
{
static void Main(string[] args)
{
Estoque OBJETO = new Estoque();
OBJETO.FUNCAO_DISPARA("nome");
Console.ReadKey();
}
}
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace delegacao{
public class Estoque
{
public delegate void NomeDelegate(TESTE sender, string e);
public event NomeDelegate Evento = new NomeDelegate(FUNCAO);

public void FUNCAO_DISPARA(TESTE sender, string e)
{
sender.cont = 4;
Evento(sender, e);
}

public static void FUNCAO(TESTE sender, string e)
{
sender.cont = 7;
Console.WriteLine("Nome: " + e);
}

}
public class TESTE {
private int X;

public int cont {
get { return X; }
set { X = value; }
}
}
class Program
{
static void Main(string[] args)
{
TESTE x = new TESTE();
x.cont = 8;
Estoque OBJETO = new Estoque();
OBJETO.FUNCAO_DISPARA(x,"nome");
Console.ReadKey();
}
}
}

Sempre que tento fazer "event" usando "+=" da erro . . . Eu não sei como fazer isso usando "+=" em vez de "=" . . .

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!