﻿
{"id":11543,"date":"2019-08-08T15:26:05","date_gmt":"2019-08-08T15:26:05","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=11543"},"modified":"2019-08-08T15:26:05","modified_gmt":"2019-08-08T15:26:05","slug":"c-8-0-readonly-members","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/c-8-0-readonly-members\/","title":{"rendered":"C# 8.0 &#8211; Readonly Members"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<br \/>\nGeli\u015ftirilen yaz\u0131l\u0131mlarda, bazen tasar\u0131m amac\u0131n\u0131z\u0131 tam olarak belirtebilmenizi sa\u011flay\u0131c\u0131 yap\u0131lara yahut bu yap\u0131lardan ziyade bu i\u015fi ger\u00e7ekle\u015ftirebilecek keywordlere ihtiya\u00e7 duyabilirsiniz. C# 8.0 versiyonu ile Readonly Members \u00f6zelli\u011fi, in\u015fa edilen tasar\u0131m \u00fczerinde tamda istendi\u011fi gibi amac\u0131 belirlemekte ve kullan\u0131m olarak direkt hedef odakl\u0131 kod yazman\u0131z\u0131 ger\u00e7ekle\u015ftirmektedir.<\/p>\n<h3>Peki Nedir Bu Readonly Members?<\/h3>\n<p>Olu\u015fturulan structlar i\u00e7erisinde readonly ile tan\u0131mlanan yap\u0131lar sadece salt okunabilir \u00f6zellik kazanmakta ve hatta bu yap\u0131lar metotlar dahi olsa bile i\u00e7erisinde field ya da propertylere bir de\u011fer atanmas\u0131na m\u00fcsaade etmemektedirler.<\/p>\n<p><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/08\/C-8.0-Readonly-Members.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/08\/C-8.0-Readonly-Members.jpg\" alt=\"C# 8.0 - Readonly Members\" width=\"426\" height=\"379\" class=\"aligncenter size-full wp-image-11547\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/08\/C-8.0-Readonly-Members.jpg 426w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2019\/08\/C-8.0-Readonly-Members-300x267.jpg 300w\" sizes=\"auto, (max-width: 426px) 100vw, 426px\" \/><\/a><\/p>\n<p>Yukar\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fcne g\u00f6z atarsan\u0131z e\u011fer override edilmi\u015f &#8220;ToString&#8221; metodu ile &#8220;LokasyonDegistir&#8221; isimli metot readonly olarak i\u015faretlenmi\u015ftir ve b\u00f6ylece sadece okunabilir hale getirilmi\u015flerdir. Dolay\u0131s\u0131yla struct i\u00e7erisindeki herhangi bir property yahut field&#8217;a bir de\u011fer set etme i\u015flemini ilgili metot i\u00e7erisinde ger\u00e7ekle\u015ftirmeye \u00e7al\u0131\u015ft\u0131\u011f\u0131m\u0131z vakit hata vermekte ve bu \u015fekilde i\u015flemi engellemektedir. Neticede bu hamle ile in\u015fa s\u00fcrecindeki ilgili memberlar\u0131 kullan\u0131m alan\u0131 baz\u0131nda s\u0131n\u0131rland\u0131rm\u0131\u015f bulunmaktay\u0131z.<\/p>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#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, Geli\u015ftirilen yaz\u0131l\u0131mlarda, bazen tasar\u0131m amac\u0131n\u0131z\u0131 tam olarak belirtebilmenizi sa\u011flay\u0131c\u0131 yap\u0131lara yahut bu yap\u0131lardan ziyade bu i\u015fi ger\u00e7ekle\u015ftirebilecek keywordlere ihtiya\u00e7 duyabilirsiniz. C# 8.0 versiyonu ile Readonly Members \u00f6zelli\u011fi, in\u015fa edilen tasar\u0131m \u00fczerinde tamda istendi\u011fi&#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":11028,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,2857],"tags":[2858,2306,2951],"class_list":["post-11543","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp-c","category-c-8-0","tag-c-8-0","tag-readonly","tag-readonly-members"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/11543","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=11543"}],"version-history":[{"count":4,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/11543\/revisions"}],"predecessor-version":[{"id":11549,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/11543\/revisions\/11549"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/11028"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=11543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=11543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=11543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}