C# Access Modifiers | Erişim Belirleyiciler Nedir?

Поделиться
HTML-код
  • Опубликовано: 4 янв 2022
  • C# dünyasında en çok kullandığımız erişim belirleyiciler Private ve Public olanlar muhtemelen. Peki bunlar dışında kalan 4 tanesinin ne olduğunu veya nasıl efektif kullanılacağını biliyor musunuz? Eğer bilmiyorsanız gelin bu videoda sorularınıza birlikte cevaplar bulalım.
    #csharp #acceses #modifiers
    #blazor #docker #dotnet
    docs.microsoft.com/en-us/dotn...
    docs.microsoft.com/en-us/dotn...
    docs.microsoft.com/en-us/dotn...
    Kanala Abone Olmayı Unutmayın!
    To Subscribe: bit.ly/3kvj2vw
    Github: github.com/salihcantekin
    Discord: / discord
    Üyelik ayrıcalıkları için: / @techbuddytr
  • НаукаНаука

Комментарии • 17

  • @dnzkrblt
    @dnzkrblt 2 года назад +6

    Kütüphanelerinizi paket olarak yayınlayıp nuget paket yöneticisine yüklediğinizde internal ve private protected çok sık kullanılıyor (ihtiyaç duyuluyor).

  • @furkanaydn8343
    @furkanaydn8343 Год назад +1

    Güzel bir video olmuş hocam, bilgileri tazelemek amaçlı eğitim serilerinizi izliyorum. Bilgilerinizden istifade etmeye çalışıyorum, iyi çalışmalar kolay gelsin :)

    • @TechBuddyTR
      @TechBuddyTR  Год назад

      Teşekkürler. Size de kolay gelsin :)

  • @Eren_Ozdemir
    @Eren_Ozdemir 10 месяцев назад

    Hocam video çok iyi olmuş elinize sağlık

  • @user-eq4kv9bz7f
    @user-eq4kv9bz7f 4 месяца назад +1

    Tesekkurler guzel bir anlatim fakat bazi noktalarda class a method , method a class demissiniz kafa karisikligi yaratabilir , bir de parent/child classlarda ki etkilesimleri anlatirken 2 class i da ekrana verebilirseniz anlamasi daha kolay olur . Saygilar

    • @TechBuddyTR
      @TechBuddyTR  4 месяца назад

      Evet ara ara yapıyorum bu hataları :) Düzeltmem lazım.

  • @dilarasedef
    @dilarasedef 8 месяцев назад +1

    hocam merhaba,ben protected internal'ı tam anlayamadım nerede çalışıp çalışmadığı kısmı biraz karışık geldi.Açıklayabilir misiniz acaba?

    • @TechBuddyTR
      @TechBuddyTR  8 месяцев назад +1

      protected internal, aynı assembly (csproj) içerisindeki her yerden ulaşılabilir. Ancak assembly dışına çıktığımızda ise sadece bu objeyi kullanarak yeni bir obje oluşturduğumuzda kullanabiliyoruz. 'protected internal void Calc()' diye bir methodumuz varsa mesela ve diyelim ki bu Math class'ı altında duruyor, bunu başka bir assembly de doğrudan kullanamıyoruz. 'public class MathV2: Math' diye bir tanımlama yaparsak, ancak bu class'ın içinden Calc() metoduna ulaşabiliyoruz.

  • @santahs3657
    @santahs3657 Год назад

    Merhaba hocam, bir namespace'in altında çalışmak ve onu daha sonra using ile başka bir classta kullanmak ile kalıtım almanın farkını kafamda tam oturtamadım. Yani bir namespace class'ın da üstünde bir yapı oluyor ve using kullanarak direkt onu mu miras almış oluyoruz? Yoksa ben olayları çok mu bocaladım?

    • @TechBuddyTR
      @TechBuddyTR  Год назад +1

      İkisi çok farklı konular :)
      namespace dediğimiz şey; bir objenin o solution içerisinde nerede yer aldığını gösterdiği bir adres bilgisidir sadece. Öte yandan kalıtım yolu ise, adı üzerinde, o objenin tüm özelliklerinin başka bir objeye aktarılması gibi değerlendirilebilir.

    • @santahs3657
      @santahs3657 Год назад

      @@TechBuddyTR Cevabınız için teşekkür ederim, gayet açıklayıcı oldu :)

  • @nebulosy1205
    @nebulosy1205 Год назад +1

    Namespace altında sadece public ve internal tanımlayabilmemizin arkasındaki mantık nedir? Neden private olarak tanımlayamıyoruz?

    • @TechBuddyTR
      @TechBuddyTR  Год назад

      Tam olarak anlayamadım.

    • @nebulosy1205
      @nebulosy1205 Год назад +1

      @@TechBuddyTR 8:00 da Namespace içerisinde ilk class tanımlamamızda private tanımlarken hata alıyoruz, bunu kast etmiştim. Burada bu hatayı almamızın sebebinin mantığını merak ettim.
      CS1527: Elements defined in a namespace cannot be explicitly declared as private, protected, protected internal, or private protected.
      Herhangi bir namespace tanımlamadan direkt
      public class MyClass
      {

      }
      protected class MyClass2
      {
      }
      bunu yazsakta bize aynı hatayı veriyor.

    • @TechBuddyTR
      @TechBuddyTR  Год назад +2

      He tamam ben yanlış anlamışım olayı. Şöyle bir durum var orada. Namespace altında bir class'ı private tanımlayamıyoruz çünkü namespace'ler bir object olmadığı için private public vs gibi durumları da olamıyor. Ama bir şeyi private olarak tanımladığımızda sadece buradaki scope içirisinden erişilebilsin diyoruz ya. eğer namespace altına private bir class oluşturabilseydik, bu class sadece bu namespace altından erişilebilir demiş olacaktık. Ama böyle bir şey mümkün değil az önceki anlattığım sebeple. Dolayısı ile private bir şey, public, protected, internal vs gibi class lar içerisinde yer almalı.
      Bununla birlikte public veya internal tanımladığımız zaman class'ı bir namespace altına, bu class'lar başka class lardan da kullanılabilir demiş oluyoruz.

    • @nebulosy1205
      @nebulosy1205 Год назад +1

      @@TechBuddyTR Bu kadar açıklayıcı bir cevap beklemiyordum. Teşekkür ederim, kafamda oturmasını sağladınız.