{"id":57,"date":"2010-02-03T19:13:58","date_gmt":"2010-02-03T17:13:58","guid":{"rendered":"\/post\/object-ve-dynamic.aspx"},"modified":"2010-02-03T19:13:58","modified_gmt":"2010-02-03T17:13:58","slug":"object-ve-dynamic","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/object-ve-dynamic\/","title":{"rendered":"object ve dynamic"},"content":{"rendered":"<p>Son zamanlar s\u0131k\u00e7a &#8220;dynamic&#8221; ve eski dostumuz &#8220;object&#8221; aras\u0131nda ne fark oldu\u011fu sorusuyla kar\u015f\u0131la\u015f\u0131yorum. \u0130kisi aras\u0131nda bir fark var m\u0131? Bu sorunun yan\u0131t\u0131 hem evet hem hay\u0131r asl\u0131nda. E\u011fer, arka planda yap\u0131lan i\u015fleri bilmiyorsan\u0131z, evet, rahatl\u0131kla object kulland\u0131\u011f\u0131n\u0131z her yerde kullanabilirsiniz ve derleme-zamannda herhangi bir hata ile kar\u015f\u0131la\u015fmazs\u0131n\u0131z. San\u0131r\u0131m yaz\u0131m\u0131n devam\u0131n\u0131 okuyarak karar\u0131 sizin vermeniz en do\u011frusu.<\/p>\n\n\n\n<p>\u00d6nceli\u011fi eski dostumuz &#8220;object&#8221;&#8216;te verirsem san\u0131r\u0131m kimse al\u0131nmaz \ud83d\ude42 object, hepinizinde bildi\u011fini biliyorum ama, &#8220;System.Object&#8221;&#8216;e k\u0131sayoldan ba\u015fka bir \u015fey de\u011fil asl\u0131nda ve C#&#8217;\u0131n ilk s\u00fcr\u00fcm\u00fcnden beri hayat\u0131m\u0131zda. C#&#8217;ta <em>neredeyse<\/em> her\u015feyin bir nesne oldu\u011fu ve object&#8217;den t\u00fcredi\u011fini d\u00fc\u015f\u00fcn\u00fcrsek ne kadar g\u00fc\u00e7l\u00fc oldu\u011funu anlayabiliriz; neredeyse her de\u011feri atayabiliriz.<\/p>\n\n\n\n<p>Yaz\u0131m\u0131n geri kalan\u0131nda kar\u015f\u0131la\u015ft\u0131rmay\u0131 \u00f6rnek bir kod \u00fczerinden yapmak daha iyi olacak san\u0131r\u0131m. A\u015fa\u011f\u0131da basit bir kod par\u00e7ac\u0131\u011f\u0131 g\u00f6receksiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">object nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n }  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}<\/pre>\n\n\n\n<p>bu kod par\u00e7ac\u0131\u011f\u0131n\u0131n \u00e7\u0131kt\u0131s\u0131n\u0131 sorsam, eminim ki &#8220;T\u00fcm makale hatal\u0131ym\u0131\u015f :P&#8221; diyenleriniz olacakt\u0131r, ne de olsa &#8220;nesne int de\u011fil bir object olarak tan\u0131mlanm\u0131\u015f&#8221;; ama ger\u00e7ekte \u00e7\u0131kt\u0131 &#8220;Tabi ki t\u00fcr\u00fc int&#8221;. Her ne kadar nesne tan\u0131mlamas\u0131 s\u0131ras\u0131nda object olarak belirlenmi\u015fte olsa \u00e7al\u0131\u015fma-zaman\u0131nda i\u00e7erisine konulan de\u011fer bir int.<\/p>\n\n\n\n<p>Bu \u00f6rnekte nesne i\u00e7erisinde her ne kadar bir int t\u00fcr\u00fcnden veri yer alsa da, \u00fczerinde bir int&#8217;e uygulayabilece\u011finiz toplama i\u015flemi gibi basit bir i\u015flemi yapmaya \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda bak\u0131n neler oluyor;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">object nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n }  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}\n\nnesne = nesne + 1;<\/pre>\n\n\n\n<p>\u0130lk \u00f6rne\u011fimiz sorunsuz olarak derlenirken, bu basit de\u011fi\u015fiklik sonras\u0131nda kodumuz derleme s\u0131ras\u0131nda hata alacakt\u0131r ve derlemek iste\u011fimizde \u00f6ncelikle nesne&#8217;yi int t\u00fcr\u00fcne d\u00f6n\u00fc\u015ft\u00fcrmeliyiz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">object nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n }  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}\n\nnesne = (int)nesne + 1;<\/pre>\n\n\n\n<p>Bu basit d\u00f6n\u00fc\u015f\u00fcm, derleyiciye ne yapt\u0131\u011f\u0131m\u0131z\u0131 bildi\u011fimizi belirtmenin bir yolu: nesne\u2019m bir int ifadedir. Bu noktada derleyici i\u00e7in nesne\u2019nin de\u011feri bir object olmaktan \u00e7\u0131kar. Tabi ki, \u00f6nemle not d\u00fc\u015fmem gerekir ki, t\u00fcr d\u00f6n\u00fc\u015f\u00fcm\u00fcn\u00fc yaparak derleme-zaman\u0131 hata al\u0131nmamas\u0131 her \u015feyin %100 do\u011fru oldu\u011fu anlam\u0131na gelmeyecektir. Bu duruma \u00f6rnek vermek gerekirse, a\u015fa\u011f\u0131daki kod par\u00e7ac\u0131\u011f\u0131nda nesneyi string t\u00fcr\u00fcne harici olarak d\u00f6n\u00fc\u015ft\u00fcrme i\u015flemi derleme-zaman\u0131nda bir hataya neden olmayacak; fakat derlenen kod \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda \u00e7al\u0131\u015fma-zaman\u0131 hata al\u0131nacakt\u0131r:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">object nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n }  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}\n\nnesne = (string)nesne + 1;<\/pre>\n\n\n\n<p>Derleyici, siz harici olarak belirtmedi\u011finiz s\u00fcrece, nesne&#8217;yi object t\u00fcr\u00fcnden kabul etmekte ve \u00fczerinden ba\u015fka bir t\u00fcre ait i\u015flem yapmaya izin vermemekte; fakat kazayla i\u00e7indeki de\u011ferden yukar\u0131daki \u00f6rnekte oldu\u011fu gibi harici olarak farkl\u0131 bir t\u00fcr&#8217;e d\u00f6n\u00fc\u015ft\u00fcr\u00fclmesi \u00e7al\u0131\u015fma-zaman\u0131 hataya neden olacakt\u0131r.<\/p>\n\n\n\n<p>.Net 4.0&#8217;la sahne alan \u00f6nemli yeniliklerden biri olan \u201cdynamic\u201d, kabaca anlatmak gerekirse, harici olarak derleyiciye bu t\u00fcr \u00fczerinde derleme s\u0131ras\u0131nda herhangi bir kontrol yap\u0131lmayaca\u011f\u0131n\u0131 belirtir. Yap\u0131lacak olan i\u015flemler \u00e7al\u0131\u015fma-zaman\u0131ndaki veriler do\u011frultusunda yorumlanarak yerine getirilir. \u0130lk \u00f6rne\u011fin dynamic versiyonu da a\u015fa\u011f\u0131daki \u00f6rnekte de g\u00f6rece\u011finiz gibi ilk kullan\u0131ma olduk\u00e7a benzer:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dynamic nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n }  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}<\/pre>\n\n\n\n<p>\u00dcstelik, ilk object \u00f6rne\u011finden farkl\u0131 olarak, a\u015fa\u011f\u0131daki kod herhangi bir t\u00fcr de\u011fi\u015fimine ihtiya\u00e7 duymaks\u0131z\u0131n hatas\u0131z \u015fekilde derlenir;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dynamic nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n }  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}\n\nnesne = nesne + 1;<\/pre>\n\n\n\n<p>Bunun sebebi, dynamic&#8217;i tan\u0131t\u0131rken de belirtti\u011fim gibi, derleme-zaman\u0131nda t\u00fcr \u00fczerinden kontrol yap\u0131lmamas\u0131. \u0130\u015fte bu object ile dynamic aras\u0131ndaki en \u00f6nemli farkt\u0131r. Nesnenin dynamic ile tan\u0131mlanmas\u0131yla birlikte programc\u0131 derleyiciye bu nesne i\u00e7indeki veri t\u00fcr\u00fcn\u00fcn ancak \u00e7al\u0131\u015fma-zaman\u0131nda belli olabilece\u011fini ve bu sebeple de derleme zaman\u0131nda hata vermemesi gerekti\u011fini belirtir. Sonu\u00e7 olarak da, derleyici bu veri t\u00fcr\u00fc i\u00e7in yap\u0131lan i\u015flemlere m\u00fcdahale etmez. A\u015fa\u011f\u0131daki kod par\u00e7ac\u0131\u011f\u0131n\u0131n son sat\u0131r\u0131 bahsetti\u011fim duruma basit bir \u00f6rnek olacakt\u0131r:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dynamic nesne = 1;\n\nif (nesne.GetType() == typeof(int)){\n     Console.WriteLine(\"Tabi ki t\u00fcr\u00fc int\");\n}  else {\n     Console.WriteLine(\"T\u00fcm makale hatal\u0131ym\u0131\u015f :P\");\n}\n\nnesne.VarolmayanBirMethod();<\/pre>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Bu kod par\u00e7ac\u0131\u011f\u0131 sizinde g\u00f6rece\u011finiz gibi hatas\u0131z derlenecek; fakat \u00e7al\u0131\u015fma zaman\u0131nda nesne i\u00e7erisinde <em>VarolmayanBirMethod<\/em> bulunamad\u0131\u011f\u0131 i\u00e7in \u00e7al\u0131\u015fma-zaman\u0131 hatas\u0131 al\u0131nacakt\u0131r.<\/p>\n\n\n\n<p>\u201c<em>Peki derleyici dynamic t\u00fcrler \u00fczerinde derleme s\u0131ras\u0131nda kontrol yapm\u0131yorsa nas\u0131l bir i\u015flem yap\u0131yor?<\/em>\u201d<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dynamic tan\u0131mlanan t\u00fcrler \u00fczerinde yap\u0131lan i\u015flemler (\u00f6rne\u011fin method \u00e7a\u011fr\u0131lar\u0131) hakk\u0131nda derleme zaman\u0131nda analiz yap\u0131larak \u00e7a\u011fr\u0131lan metodun ismi, parametre say\u0131s\u0131, parametre t\u00fcrleri, ba\u011flay\u0131c\u0131 t\u00fcr\u00fc(c# nesnesi, python nesnesi, COM nesnesi) v.b. bilgiler \u00e7al\u0131\u015fma-zaman\u0131nda kullan\u0131lmak \u00fczere saklan\u0131r ve \u00e7al\u0131\u015fma-zaman\u0131nda t\u00fcr\u2019\u00fcn ald\u0131\u011f\u0131 de\u011fer do\u011frultusunda bu bilgiler kullan\u0131larak talep edilen i\u015flemler ger\u00e7ekle\u015ftirilir. Dolay\u0131s\u0131la eksik ve\/veya hatal\u0131 bilgi verilmesi (olmayan bir metod ad\u0131, eksik parametre) derleme-zaman\u0131 de\u011fil \u00e7al\u0131\u015fma-zaman\u0131 hataya neden olacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Yap\u0131lan bu \u00e7al\u0131\u015fma-zaman\u0131 yorumlama i\u015fi tabi ki uygulaman\u0131za ek bir y\u00fck getirecektir (i\u015flemci zaman\u0131 ve haf\u0131za kullan\u0131m\u0131 olarak), bu ek y\u00fck\u00fcn hafifletilmesi anlam\u0131nda gerekli \u00f6nbellek i\u015flemlerinin yap\u0131ld\u0131\u011f\u0131n\u0131 da not olarak d\u00fc\u015fmem gerekir. Bu sayede, \u00f6rne\u011fin bir d\u00f6ng\u00fc i\u00e7erisinde yap\u0131lan bir dynamic \u00e7a\u011fr\u0131da ilk defadan sonra yeniden bir yorumlama yap\u0131lmayarak \u00f6nbellekte haz\u0131r bulunan kod par\u00e7ac\u0131\u011f\u0131 i\u015fletilir.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; dynamic hakk\u0131nda unutulmamas\u0131 gereken \u00f6nemli bir noktada, arka planda kullan\u0131lan Dinamik dil \u00e7al\u0131\u015fma zaman\u0131 k\u00fct\u00fcphanesinin (Dynamic Language Runtime &#8211; DLR) .Net i\u00e7in sadece C# diliyle yaz\u0131lm\u0131\u015f bir k\u00fct\u00fcphane oldu\u011fudur, ayn\u0131 sizlerin yazd\u0131\u011f\u0131&nbsp; k\u00fct\u00fcphaneler gibi. Dolay\u0131s\u0131yla da yukar\u0131daki \u00f6rneklerdeki gibi kullan\u0131mlarda h\u0131zl\u0131, okunur kod yaz\u0131lmas\u0131n\u0131 sa\u011flamakla birlikte normalde yap\u0131labilecek basit bir t\u00fcr d\u00f6n\u00fc\u015f\u00fcm\u00fcnden \u00f6teye ge\u00e7ilerek arka planda sizin yerinize yap\u0131lan \u00e7a\u011fr\u0131lar nedeniyle kodun performans\u0131 d\u00fc\u015fecektir.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>B\u00dcY\u00dcK B\u0130R G\u00dc\u00c7LE B\u0130RL\u0130KTE B\u00dcY\u00dcK SORUMLULUKTA GELMEL\u0130D\u0130R<\/p><cite>Uncle Ben, Spider-Man<\/cite><\/blockquote>\n\n\n\n<p>C# 4.0 ile birlikte gelen \u00f6nemli \u00f6zelliklerde birisi olan \u201cdynamic\u201d temelde iki amaca hizmet vermesi i\u00e7in getirilmi\u015ftir;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>C# ve COM birlikte i\u015flerli\u011finin kolayla\u015ft\u0131r\u0131lmas\u0131<\/li><li>C#&nbsp; ve dinamik dillerin (Javascript, Python, Ruby v.b.) birlikte i\u015flerli\u011finin sa\u011flanmas\u0131&nbsp; ve kolayla\u015ft\u0131r\u0131lmas\u0131<\/li><\/ul>\n\n\n\n<p>&nbsp; Bu ama\u00e7lar d\u0131\u015f\u0131nda kullan\u0131lalabiliyor olmas\u0131na kar\u015f\u0131n; ba\u015fta performans olmak \u00fczere, derleme zaman\u0131 hatalar\u0131n farkedilememesi v.b. nedenlerle tavsiye edilmemektedir, sadece gerekli oldu\u011funda ve \u00e7ok dikkatli bi\u00e7imde kullan\u0131lmal\u0131d\u0131r.<\/p>","protected":false},"excerpt":{"rendered":"<p>Son zamanlar s\u0131k\u00e7a &#8220;dynamic&#8221; ve eski dostumuz &#8220;object&#8221; aras\u0131nda ne fark oldu\u011fu sorusuyla kar\u015f\u0131la\u015f\u0131yorum. \u0130kisi aras\u0131nda bir fark var m\u0131? Bu sorunun yan\u0131t\u0131 hem evet hem hay\u0131r asl\u0131nda. E\u011fer, arka planda yap\u0131lan i\u015fleri bilmiyorsan\u0131z, evet, rahatl\u0131kla object kulland\u0131\u011f\u0131n\u0131z her yerde kullanabilirsiniz ve derleme-zamannda herhangi bir hata ile kar\u015f\u0131la\u015fmazs\u0131n\u0131z. San\u0131r\u0131m yaz\u0131m\u0131n devam\u0131n\u0131 okuyarak karar\u0131 sizin vermeniz&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/object-ve-dynamic\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28],"tags":[41,85],"class_list":["post-57","post","type-post","status-publish","format-standard","hentry","category-csharp","category-turkce","tag-c","tag-dynamic"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>object ve dynamic - Fatih Boy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/object-ve-dynamic\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"object ve dynamic - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"Son zamanlar s\u0131k\u00e7a &#8220;dynamic&#8221; ve eski dostumuz &#8220;object&#8221; aras\u0131nda ne fark oldu\u011fu sorusuyla kar\u015f\u0131la\u015f\u0131yorum. \u0130kisi aras\u0131nda bir fark var m\u0131? Bu sorunun yan\u0131t\u0131 hem evet hem hay\u0131r asl\u0131nda. E\u011fer, arka planda yap\u0131lan i\u015fleri bilmiyorsan\u0131z, evet, rahatl\u0131kla object kulland\u0131\u011f\u0131n\u0131z her yerde kullanabilirsiniz ve derleme-zamannda herhangi bir hata ile kar\u015f\u0131la\u015fmazs\u0131n\u0131z. San\u0131r\u0131m yaz\u0131m\u0131n devam\u0131n\u0131 okuyarak karar\u0131 sizin vermeniz...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/object-ve-dynamic\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2010-02-03T17:13:58+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"object ve dynamic\",\"datePublished\":\"2010-02-03T17:13:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/\"},\"wordCount\":1149,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"keywords\":[\"C#\",\"Dynamic\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/object-ve-dynamic\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/\",\"url\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/\",\"name\":\"object ve dynamic - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"datePublished\":\"2010-02-03T17:13:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/object-ve-dynamic\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/object-ve-dynamic\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"object ve dynamic\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"object ve dynamic - Fatih Boy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/object-ve-dynamic\/","og_locale":"en_US","og_type":"article","og_title":"object ve dynamic - Fatih Boy","og_description":"Son zamanlar s\u0131k\u00e7a &#8220;dynamic&#8221; ve eski dostumuz &#8220;object&#8221; aras\u0131nda ne fark oldu\u011fu sorusuyla kar\u015f\u0131la\u015f\u0131yorum. \u0130kisi aras\u0131nda bir fark var m\u0131? Bu sorunun yan\u0131t\u0131 hem evet hem hay\u0131r asl\u0131nda. E\u011fer, arka planda yap\u0131lan i\u015fleri bilmiyorsan\u0131z, evet, rahatl\u0131kla object kulland\u0131\u011f\u0131n\u0131z her yerde kullanabilirsiniz ve derleme-zamannda herhangi bir hata ile kar\u015f\u0131la\u015fmazs\u0131n\u0131z. San\u0131r\u0131m yaz\u0131m\u0131n devam\u0131n\u0131 okuyarak karar\u0131 sizin vermeniz...Read More","og_url":"https:\/\/fatihboy.com\/en\/object-ve-dynamic\/","og_site_name":"Fatih Boy","article_published_time":"2010-02-03T17:13:58+00:00","author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/object-ve-dynamic\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/object-ve-dynamic\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"object ve dynamic","datePublished":"2010-02-03T17:13:58+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/object-ve-dynamic\/"},"wordCount":1149,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"keywords":["C#","Dynamic"],"articleSection":["C#","T\u00fcrk\u00e7e"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/object-ve-dynamic\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/object-ve-dynamic\/","url":"https:\/\/fatihboy.com\/object-ve-dynamic\/","name":"object ve dynamic - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"datePublished":"2010-02-03T17:13:58+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/object-ve-dynamic\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/object-ve-dynamic\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/object-ve-dynamic\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"object ve dynamic"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}