﻿
{"id":4651,"date":"2016-07-01T03:08:37","date_gmt":"2016-07-01T03:08:37","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=4651"},"modified":"2016-07-01T03:08:37","modified_gmt":"2016-07-01T03:08:37","slug":"cta-anonymous-type","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/cta-anonymous-type\/","title":{"rendered":"C#&#8217;ta Anonymous Type"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>\u015euana kadar bir\u00e7ok makalemde \u00f6rneklendirmelerde kulland\u0131\u011f\u0131m yahut \u00fczerine \u00fc\u00e7 be\u015f sat\u0131r kalem oynatt\u0131\u011f\u0131m bir yap\u0131 olan Anonymous Type hakk\u0131nda daha detayl\u0131 bir i\u00e7erik olu\u015fturaca\u011f\u0131z.<\/p>\n<p>Biliyoruz ki, s\u0131n\u0131flar\u0131m\u0131z belirli organize veriler \u00fczerine kurgulanan bir yap\u0131d\u0131r. Haliyle tan\u0131mlad\u0131ysak e\u011fer kullan\u0131lmak \u00fczere bu zahmete girmi\u015fiz demektir \ud83d\ude42 Ee peki sadece bir seferlik kullan\u0131lacak durumlar i\u00e7in s\u0131n\u0131f olu\u015fturmak ne kadar do\u011frudur? Tabi ki de do\u011fru de\u011fildir. Anonymous Type(\u0130simsiz Tip) ile bu i\u015flemi ger\u00e7ekle\u015ftirmemiz daha do\u011fru olacakt\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            var Kisi = new { Adi = &quot;Gen\u00e7ay&quot;, SoyAdi = &quot;Y\u0131ld\u0131z&quot; };\r\n        }\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi bir Kisi s\u0131n\u0131f\u0131 olusturmak yerine Anonymous Type kullanarak bu i\u015fi halletmi\u015f bulunmaktay\u0131m. Burada dikkat etmeniz gereken nokta, Anonymous Type kullan\u0131rken var de\u011fi\u015fkenine atama ger\u00e7ekle\u015ftirmeniz gerekmektedir. var tipi kullan\u0131l\u0131rken Compiler, Run Time(\u00c7al\u0131\u015fma Zaman\u0131)&#8217;da atanan yap\u0131n\u0131n tipini belirlemekte ve var tipinide o tipe b\u00fcr\u00fcnd\u00fcrmekteydi. Ee haliyle Anonymous Type yap\u0131s\u0131n\u0131n tipini bilemeyece\u011fimizden dolay\u0131 do\u011fal olarak var tipini kullanmam\u0131z en do\u011frusudur.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type-300x61.png\" alt=\"C#&#039;ta Anonymous Type\" width=\"300\" height=\"61\" class=\"aligncenter size-medium wp-image-4653\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type-300x61.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type.png 431w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nYukar\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcnden de g\u00f6r\u00fcld\u00fc\u011f\u00fc gibi Anonymous Type propertyleri default construtorda tan\u0131mlay\u0131p readonly olarak ayarlanmaktad\u0131r.<\/p>\n<h5>Peki Compiler Anonymous Type&#8217;\u0131 Hangi Tipe \u00c7eviriyor?<\/h5>\n<p>Bu sorunun cevab\u0131n\u0131 a\u015fa\u011f\u0131daki i\u015flemlerden elde edebiliriz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n        static void Main(string&#x5B;] args)\r\n        {\r\n            var Kisi = new { Adi = &quot;Gen\u00e7ay&quot;, SoyAdi = &quot;Y\u0131ld\u0131z&quot; };\r\n\r\n            object obje = Kisi;\r\n\r\n            Console.WriteLine\r\n                ($&quot;Obje Ad\u0131 = {obje.GetType().Name}\\nKal\u0131t\u0131m Al\u0131nan S\u0131n\u0131f = {obje.GetType().BaseType}\\nPropertyler = {obje.ToString()}&quot;);\r\n\r\n            Console.Read();\r\n        }\r\n<\/pre>\n<p>\u00c7\u0131kt\u0131 olarak;<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type-1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type-1-300x74.png\" alt=\"C#&#039;ta Anonymous Type\" width=\"300\" height=\"74\" class=\"aligncenter size-medium wp-image-4654\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type-1-300x74.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2016\/07\/Cta-Anonymous-Type-1.png 398w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi Compiler arka planda <>f__AnonymousType0`2 isminde bir s\u0131n\u0131f yaratmakta ve bu s\u0131n\u0131f\u0131<br \/>\nSystem.Object s\u0131n\u0131f\u0131ndan t\u00fcretmektedir. Asl\u0131nda bu \u00fcretilen s\u0131n\u0131f bir sealed s\u0131n\u0131ft\u0131r. Anonymous Type s\u0131n\u0131flar\u0131n ismi Compiler taraf\u0131ndan herseferinde farkl\u0131 ve unique(tekil) bir \u015fekilde verilmektedir. O y\u00fczden kendi \u00e7al\u0131\u015fman\u0131zda farkl\u0131 bir isimle kar\u015f\u0131la\u015f\u0131rsan\u0131z \u015fa\u015f\u0131rmay\u0131n\u0131z. Ayriyetten bu projede Anonymous Type&#8217;a \u00f6zel <>f__AnonymousType0`2 tipi olu\u015fturuldu\u011fundan dolay\u0131, t\u00fcm Anonymous Type&#8217;larda da <>f__AnonymousType0`2 tipinden nesne olu\u015fturacakt\u0131r.<\/p>\n<p>Basit ama etkili bir yakla\u015f\u0131m sergilememizi sa\u011flayan Anonymous Type l\u00fczumsuz s\u0131n\u0131f ve nesne yap\u0131lar\u0131ndan bizleri kurtarmakta ve projenin amac\u0131na daha az maliyetle hizmet etmemizi sa\u011flamaktad\u0131r.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\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, \u015euana kadar bir\u00e7ok makalemde \u00f6rneklendirmelerde kulland\u0131\u011f\u0131m yahut \u00fczerine \u00fc\u00e7 be\u015f sat\u0131r kalem oynatt\u0131\u011f\u0131m bir yap\u0131 olan Anonymous Type hakk\u0131nda daha detayl\u0131 bir i\u00e7erik olu\u015fturaca\u011f\u0131z. Biliyoruz ki, s\u0131n\u0131flar\u0131m\u0131z belirli organize veriler \u00fczerine kurgulanan bir&#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],"tags":[1309,228,27,1315,1314,1311,1312,1313,1310],"class_list":["post-4651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c","tag-anonymous","tag-anonymous-type","tag-c","tag-c-anonymous-type","tag-cta-anonymous-type","tag-isimsiz","tag-isimsiz-tip","tag-isimsiz-tipler","tag-type"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/4651","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=4651"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/4651\/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=4651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=4651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=4651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}