dani piresk escreveu
Hm, certo entendi o meu erro, foi na assinatura.
Mas tem como essa assinatura ser feita automaticamente quando eu crio a class?
Nessa parte: test1.RecebeTexto += new MyTest.SockDelegate(test1_RecebeTexto);
test1_RecebeTexto eu posso passar como parametro?
Tipo public object ReceberDadosCall;
Ae lá eu coloco socket.ReceberDadosCall = ReceberTexto;
Posso fazer assim?
Valeu. |
Eu alterei o nosso exemplo para passar o "ponteiro para função" via parametro do construtor(observe as modificações em amarelo):
namespace MyTests
{
public class MyTest
{
public delegate void SockDelegate(string texto);
public event SockDelegate RecebeTexto;
private string text;
public MyTest(SockDelegate sock)
{
this.RecebeTexto += sock;
}
public string Text
{
get { return text; }
set
{
this.text = value;
if (this.RecebeTexto != null)
{
this.RecebeTexto(this.text);
}
}
}
}
class Program
{
static void Main(string[] args)
{
MyTest test1 = new MyTest(test1_RecebeTexto);
//test1.RecebeTexto += new MyTest.SockDelegate(test1_RecebeTexto);
test1.Text = "'My Test 1";
}
static void test1_RecebeTexto(string texto)
{
}
}
}