C# Erişim Belirleyiciler (Access Modifiers)

C

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 comments

By Sinan BOZKUŞ

Sinan BOZKUŞ

Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.