C#事件的问题,高手请进。。。
来源:百度知道 编辑:UC知道 时间:2024/07/08 18:40:49
事件代码如下:
using System;
class send
{
public delegate void f();
public event f onf;
public void fx()
{
if (onf != null)
Console.WriteLine("发新刊。。。");
onf();
}
}
class receive
{
public void rec()
{
Console.WriteLine("新刊已经收到。。。");
}
}
class s
{
static void Main()
{
send pub = new send();
receive r = new receive();
pub.onf += new send.f(r.rec);
pub.fx();
}
}
事件的代码就这样,请看另一段代码:
using System;
class send
{
public delegate void f();
private f x;
public f M_x
{
set { x = value; }
get { return x; }
}
public void fx()
{
if (x != null)
Console.Wr
using System;
class send
{
public delegate void f();
public event f onf;
public void fx()
{
if (onf != null)
Console.WriteLine("发新刊。。。");
onf();
}
}
class receive
{
public void rec()
{
Console.WriteLine("新刊已经收到。。。");
}
}
class s
{
static void Main()
{
send pub = new send();
receive r = new receive();
pub.onf += new send.f(r.rec);
pub.fx();
}
}
事件的代码就这样,请看另一段代码:
using System;
class send
{
public delegate void f();
private f x;
public f M_x
{
set { x = value; }
get { return x; }
}
public void fx()
{
if (x != null)
Console.Wr
public f M_x
{
set{ x = value; }
get { return x; }
}
事件的写法有误,应改为:
public f M_x
{
add{ x = value; }
remove { return x; }
}
你的第2种方法把事件声明成属性了。这样就不能实现多播功能,这是区别。
如果改成add,remove的方法就能实现多播.