using System;
using System.Collections.Generic;
namespace test
{
class Foo
{
public int ID { get; private set; }
public event Action OnSomething;
public void Invoke() { OnSomething(); }
public Foo(int id) { ID = id; }
}
class MainClass
{
public static void Main (string[] args)
{
List<Foo> list = new List<Foo>();
int u;
for(u = 0; u < 5; ++u)
list.Add(new Foo(u));
u = 0;
foreach(var f in list)
f.OnSomething += () => Console.WriteLine(f.ID);
foreach(var f in list)
f.Invoke();
}
}
}
이 코드 실행하면 결과가 어떻게 나올것 같음? 결과는 링크 따라가면 있음
http://ideone.com/VNmSZ
http://ideone.com/VNmSZ
f.ID에서 f의 late binding 때문인거 같은데