C#事件是一种特殊的委托,建议你先学习一下委托,+=简单说就是订阅方法.
什么是订阅方法,委托我知道,但是我没有写过委托
@kuangx: 你要多写,多用委托.多个方法是可以相加的,连续调用.
@屋檐不懂雨: 我现在想知道的是,我怎么写出类似于他那种+=的代码,我想知道详细步骤
@kuangx:
1.定义一个事件变量
2.在另一个地方为这个变量+=一个方法名
3.使用
A类: //定义事件的变量 public event Action<string> SendMsg; B类: //订阅方法 A.SendMsg+=showmsg public string showmsg(string str) { messagebox.show(str); } 使用: SendMsg("hello");
@屋檐不懂雨: 谢谢
@kuangx:
例子有点问题,第一句这样:
public static event Action<string> SendMsg;
@屋檐不懂雨: 我看懂了,上面代码不是还有一个new,是+=完了之后,在写的吗
@kuangx: 我没有写new呀
@屋檐不懂雨: 上面图片里面的代码有new
@kuangx:new是因为要类型一致
@屋檐不懂雨: 长知识了
@kuangx:
订阅方法:
原始写法(C#1.0语法)
A.SendMsg+=new Action<string>(showmsg);
这种写法比较繁琐于是在C#2.0中得到了简化
2.0语法:
A.SendMsg+=showmsg;
可以直接+=一个方法
你直接去查下事务就行了!
百度Winfrom的事务?
@kuangx: https://www.cnblogs.com/gq0324/p/8177799.html 你去看看,事件和委托!
你每加一个方法,当触发这个事件的时候就会执行他
C# 是特有的事件和委托, 你先看明白事件和委托了, 这些就都明白了.