Re: [問題] 使用Lambda註冊的Event最後怎麼了?
※ 引述《yan04870449 (楊伯)》之銘言:
: class MyClass
: {
: static public event Action OnCall;
: }
: class Car
: {
: public void Start()
: {
: MyClass.OnCall += () =>
: {
: //做一些事情
: };
: }
: }
: 上面只是用來說明這個問題而已
: 範例中,我使用Lambda再Car的instance裡面註冊了事件
: 但我並沒有註銷這個事件,當這Car的instance被移除了
: 之後這個被註冊進去的匿名函式跑哪去了?
: 然後當OnCall事件又發生的時候,會發生甚麼事嗎?
void main()
{
MSG m1 = new MSG();
m1.setAction(() =>
{
Console.WriteLine("hi");
});
m1 = null;
MSG m2 = new MSG();
m2.doAction();
}
public class MSG
{
static Action action;
public void setAction(Action tmp)
{
action = tmp;
}
public void doAction()
{
action();
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.239.100
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1396297821.A.C1B.html
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章