¹«¸í ¸Þ¼Òµå(Anonymous Methods)¿¡ ´ëÇؼ ¾Ë¾Æº¸ÀÚ.1. ¹«¸í Çü½Ä (Anonymous Type)C#¿¡´Â À̸§ÀÌ ¾ø´Â Çü½Ä(ŸÀÔ)ÀÌ Á¸ÀçÇϴµ¥, À̸¦ ¹«¸íÇü½Ä(Anonymous Type)À̶ó ÇÑ´Ù. Àӽà º¯¼ö°¡ ÇÊ¿äÇÒ¶§ »ç¿ëµÈ´Ù. »ç¿ë ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù. var temp = new { age = 20, name = "simpson" }; Console.WriteLine("age={0}, name={1}", temp.age, temp.name); ¹«¸íÇü½ÄÀº ¼±¾ð°ú µ¿½Ã¿¡ new Å°¿öµå·Î ÀνºÅϽº¸¦ »ý¼ºÇØ¾ß ÇÑ´Ù. »ý¼ºµÈ ÀνºÅϽº´Â Àбâ Àü¿ëÀÌ´Ù. 2. ¹«¸í ¸Þ¼Òµå (Anonymous Method)À̸§ÀÌ ¾ø´Â ¸Þ¼µå·Î delegate¿Í ÇÔ²² »ç¿ëÇÒ¼ö ÀÖ´Ù. »ç¿ë ¿¹´Â ´ÙÀ½°ú °°´Ù. button1.Click += delegate(System.Object o, System.EventArgs
e)
{ System.Windows.Forms.MessageBox.Show("Click!"); }; // Create a delegate.
delegate void Del(int x); // Instantiate the delegate using an anonymous method. Del d = delegate(int k) { /* ... */ }; ¹«¸í ¸Þ¼µå¸¦ »ç¿ëÇϸé ÄÚµù ¿À¹öÇì´õ¸¦ ÁÙÀϼö ÀÖ´Ù. ¹«¸í ¸Þ¼µåÀÇ ½ÇÁ¦ »ç¿ë ¿¹¸¦ º¸ÀÚ. Plus, Minus ¸Þ¼µå¸¦ ¹«¸í ¸Þ¼µå·Î ÀÛ¼º ÇÏ¿´´Ù. delegate int CalcDelegate(int a, int b);
class Calc { public void Run(int a, int b, CalcDelegate dele) { Console.WriteLine(dele(a, b)); } public int Plus(int a, int b) { return a + b; } public int Minus(int a, int b) { return a - b; } public void Test() { //Run(10, 20, Plus); Run(10, 20, delegate(int a, int b) { return (a + b); }); //Run(10, 20, Minus); Run(10, 20, delegate(int a, int b) { return (a - b); }); } } ÂüÁ¶) https://msdn.microsoft.com/ko-kr/library/0yw3tz5k.aspx |