Güvenlik vb. çeşitli sebeplerle nesnelerimizin dışarıdan erişilmesini veya erişilmemesini isteyebiliriz. Bu tarz yetkilendirme işlemlerini C# dilinde erişim belirleyiciler (access modifiers) ile sağlanmaktadır. Erişim belirleyiciler C# üzerinde tanımlanmış tüm nesnelere uyarlanabilir. (değişkenler, classlar, methodlar vb.)
Private
Bir nesne private olarak tanımlandığında sadece kendi kod bloğu içerisinden çağrılabilir. Güvenlik nedeniyle dışarıya kesinlikle açmamamız gereken nesnelerde kullanılır.
[divider type=”dashed”]
Public
Bir nesne public olarak tanımlandığında hiç bir kısıtlaması olmaz. Yani hem kendi kod bloğu üzerinden hem de dışarıdan hatta farklı projeler üzerinden dahi çağırılabilir.
[divider type=”dashed”]
Internal
Kendi projesi içerisinde public, farklı bir projeden/dışarıdan çağırılmak istenildiğinde ise private özelliklerini taşır. Yani aynı Assembly (dll) üzerinde istediğiniz şekilde kullanabilirsiniz ancak dışarıdan (farklı bir projeden) çağıramazsınız.
[divider type=”dashed”]
Protected
Bir nesne protected olarak tanımlandığında yalnızca bulunduğu class üzerinde ve bu class ı miras alan (bu class’tan türetilmiş) classlar üzerinden çağırılabilir.
[divider type=”dashed”]
Proteced Internal
Bir nesne protected internal olarak tanımlandığında aynı protected gibi kendi bulunduğu class üzerinde ve bu class ı miras alan classlar üzerinden çağrılabilir. Artı olarak aynı proje (assembly/dll) üzerinde olmasalar dahi, tanımlandığı class’tan türetilmiş diğer class’ların içinden de çağırılabilirler.
Özel bir durum olmadıkça varsayılan olarak değişkenler ve methodlar private, classlar ise internal dır.
3 yorum
Proteced Internal tanımlamasında “miras” yazılacağına “misas” yazmışsınız bilginize
Düzenledim, teşekkürler.
Çok değerli bir çalışma olmuş.