﻿
{"id":3948,"date":"2016-04-06T23:14:29","date_gmt":"2016-04-06T23:14:29","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3948"},"modified":"2016-04-06T23:14:29","modified_gmt":"2016-04-06T23:14:29","slug":"cta-isimsiz-metodlaranonymous-methods","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/cta-isimsiz-metodlaranonymous-methods\/","title":{"rendered":"C#&#8217;ta \u0130simsiz Metodlar(Anonymous Methods)"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>C#&#8217;ta bir temsilciye(Delegate) metod ba\u011flarken Anaonymous Method yap\u0131s\u0131n\u0131 kullanabilir, \u00f6nceden tan\u0131mlanm\u0131\u015f bir metoda gereksinim duymadan direkt olarak kod blo\u011fu ba\u011flayabiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        public delegate int Topla(int Sayi1, int Sayi2);\r\n\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n\r\n            \/\/Lambda\r\n            Topla t1 = new Topla((a, b) =&gt; { return a + b; });\r\n\r\n            \/\/Lambda\r\n            Topla t2 = (a, b) =&gt; { return a + b; };\r\n\r\n            \/\/Anonymous Method\r\n            Topla t3 = delegate (int Sayi1, int Sayi2)\r\n            {\r\n                return Sayi1 + Sayi2;\r\n            };\r\n\r\n            Console.WriteLine(t1(1, 3));\r\n            Console.WriteLine(t2(2, 4));\r\n            Console.WriteLine(t3(3, 5));\r\n        }\r\n<\/pre>\n<p>Yukar\u0131daki \u00f6rnek kod blo\u011funda da g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi yapt\u0131\u011f\u0131m\u0131z i\u015flem aslen arka planda bir metod tan\u0131mlamakta ve ilgili delegeye ba\u011flamaktad\u0131r. Bu tan\u0131mlamalar\u0131n &#8220;t2&#8221; ve &#8220;t3&#8221; referanslar\u0131nda &#8220;new&#8221; anahtar s\u00f6zc\u00fc\u011f\u00fcne gerek kalmaks\u0131z\u0131n delegemize metod ba\u011flayabilmekteyiz. <\/p>\n<blockquote><p>&#8220;t1&#8221; ve &#8220;t2&#8221; referanslar\u0131nda kullan\u0131lan y\u00f6ntem Lambda ifadeleriyle ger\u00e7ekle\u015ftirilmi\u015ftir. Anonymous Methods dedi\u011fimiz yap\u0131 &#8220;t3&#8221; referans\u0131ndakidir.<\/p><\/blockquote>\n<p>Neden isimsiz metod oldu\u011funu anlam\u0131\u015f\u0131zd\u0131r umar\u0131m. \u00d6nceden tan\u0131mlanm\u0131\u015f bir metodun ismini delegemize belirtme gereksinimi duymad\u0131\u011f\u0131m\u0131z i\u00e7in isimsiz metotdur. Ayr\u0131ca &#8220;t2&#8221; ve &#8220;t3&#8221; referans\u0131ndaki kullan\u0131m\u0131 incelersek e\u011fer delegemizin tipine gerek duymaks\u0131z\u0131n, kod blo\u011fu olu\u015fturuyor ve ilgili delegemize ba\u011flayabiliyoruz. \u00d6zellikle &#8220;t3&#8221; referans\u0131ndaki kullan\u0131mda &#8220;delegate&#8221; anahtar s\u00f6zc\u00fc\u011f\u00fc otomatik olarak temsilcinin ad\u0131n\u0131n yerini tutmaktad\u0131r.<\/p>\n<p>Ayn\u0131 mant\u0131kla Anonymous Methods yap\u0131lar\u0131n\u0131 Event(Olay)&#8217;lar i\u00e7inde kullanmaktay\u0131z.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        private void Form1_Load(object sender, EventArgs e)\r\n        {\r\n            \/\/Lambda\r\n            btnTikla.Click += (Sender, E) =&gt;\r\n            {\r\n\r\n            };\r\n\r\n            \/\/Anonymous Method\r\n            btnTikla.Click += delegate (object Sender, EventArgs E)\r\n            {\r\n\r\n            };\r\n        }\r\n<\/pre>\n<p>Tabi Anonymous Methods dedi\u011fimiz yap\u0131lar, kronolojik olarak Lambda ifadeleri i\u00e7in temel arz eden bir yap\u0131ya sahiptir. Dilin grameri a\u00e7\u0131s\u0131ndan hala desteklensede, kullan\u0131m a\u00e7\u0131s\u0131ndan Lambda varken, Anonymous Methods \u00e7ok tercih edilmemektedir.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar dilerim&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, C#&#8217;ta bir temsilciye(Delegate) metod ba\u011flarken Anaonymous Method yap\u0131s\u0131n\u0131 kullanabilir, \u00f6nceden tan\u0131mlanm\u0131\u015f bir metoda gereksinim duymadan direkt olarak kod blo\u011fu ba\u011flayabiliriz. public delegate int Topla(int Sayi1, int Sayi2); static void Main(string&#x5B;] args) { \/\/Lambda&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3014,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,338,720],"tags":[1047,27,62,1048,230,170],"class_list":["post-3948","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c","category-c-5-0","category-c-6-0","tag-anonymous-methods","tag-c","tag-event","tag-isimsiz-metodlar","tag-lambda","tag-olay"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3948","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=3948"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3948\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3014"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3948"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3948"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3948"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}