Yanıtlar:
internal , montaj kapsamı içindir (yani yalnızca aynı .exe veya .dll'deki koddan erişilebilir)
private sınıf kapsamı içindir (yani yalnızca aynı sınıftaki koddan erişilebilir).
Aşağıda bir açıklama bulun. Daha fazla ayrıntı için bu bağlantıyı kontrol edebilirsiniz - http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
Özel: - Özel üyelere yalnızca kendi türünden erişilebilir (Kendi sınıfı).
Dahili: - Dahili üyeye montaj sırasında sadece miras (türetilen türü) veya sınıf örneği ile erişilebilir.
Referans :
Protected Internal
geniş erişim sağlayan ilginç Protected
.
protected internal
olarak protected OR internal
.
With Type
geliyor?
AND
bu matrisin true | false | false | false için olduğunu varsaydım protected internal
. sezgisel değil. bunun yerine true | true | true | false gibi OR'd
.
private protected
çok sezgisel olmasa da, "korumalı VE dahili" bir değiştirici ekledi . Ayrıntılar için: docs.microsoft.com/en-us/dotnet/csharp/language-reference/…
internal
üyeler bildirildikleri derlemedeki tüm kodlar tarafından görülebilir.
(Ve [InternalsVisibleTo]
öznitelik kullanılarak başvurulan diğer derlemeler tarafından )
private
üyeler yalnızca bildiren sınıf tarafından görülebilir. (iç içe sınıflar dahil)
Bir dış (iç içe geçmiş) sınıf, private
onu özel yapacak kapsam içermediğinden bildirilemez .
Sormayı unuttuğunuz soruyu cevaplamak için protected
üyeler üyeler gibidir private
, ancak bildirme türünü devralan tüm sınıflarda da görülebilirler. (Ancak en azından geçerli sınıfın türünün bir ifadesinde)
özel - sınıf / kapsam / yapı vb. içindeki kapsüllemeler '.
montajlarda iç kapsülleme.
Özel üyelere sadece sınıfın bünyesinde veya beyan edildikleri yapı içerisinde erişilebilir.
Dahili türlere veya üyelere yalnızca aynı montajdaki dosyalardan erişilebilir
Dahili, bağlantı havuzlarında bu sınıfı / yolculuğu devralmak ve sonuçta bir DAL sınıfına izin vermekten kaçınmak için abone olmazken, birden çok iş mantığı sınıfı arasında bir Veri Erişimi statik sınıfına (iş parçacığı güvenliği için) başvurmanıza izin verir. kamu düzeyinde erişimi teşvik etmek. Bunun tasarım ve en iyi uygulamalarda sayısız desteği vardır.
Entity Framework bu erişim türünü iyi kullanır
dahili üyelere meclis içinde erişilebilir (sadece aynı projede erişilebilir)
özel üyelere aynı sınıfta erişilebilir
Bir çözümde 2 proje vardır (Proje1, Proje2) ve Proje1'in Proje2'ye bir referansı vardır.