Shunday qilib, kontentda faqat internalVar, protectedInternalVar va publicVar o'zgaruvchilarining modifikatorlari bergan ruxsatdan foydalanib ularning qiymatlarini o`zgartirish imkoniga ega bo`ldik. Metodlar bilan ham xuddi shunday vaziyat mavjud:
class Program { static void Main(string[] args) { State state1 = new State(); state1.defaultMethod(); // Xatolik, foydalanishga ruxsat mavjud emas state1.privateMethod(); // Xatolik, foydalanishga ruxsat mavjud emas state1.protectedPrivateMethod(); // Xatolik, foydalanishga ruxsat mavjud emas state1.protectedMethod(); // Xatolik, foydalanishga ruxsat mavjud emas state1.internalMethod(); // me`yoriy talab state1.protectedInternalMethod(); // me`yoriy talab state1.publicMethod(); // me`yoriy talab } }
Bu erda faqat uchta metodga modifikatorlari internal, protected internal, public bo`lganligi uchun ruxsat mavjud: internalMethod, protectedInternalMethod, publicMethod. Ushbu ruxsat modifikatorlari tizimi tufayli dasturning boshqa qismlaridan sinfingizning ayrim qismlarini yashirishingiz mumkin. Garchi public va internal modifikatorlari o'zlarining xususiyatlarida o'xshashliklar bo'lsada, lekin ular bir biridan katta farqga ega. Agar sinf ma'lumotlarning dinamik DLL kutubxonasiga joylashtirilsa va undan keyin ushbu dasturlarda ishlatilsa, u holda public modifikatorli sinflar va sinf a'zolaridan boshqa dasturlar ham foydalanish huquqida ega bo'ladi.