एक्सेस मोडिफायर्स C# में वेरिएबल्स और फंक्शन्स के स्कोप को निर्दिष्ट करते हैं। C# द्वारा प्रदान किए गए निम्नलिखित एक्सेस मोडिफायर्स हैं:
Public
पब्लिक मोडिफायर मेंबर्स की एक्सेस पर कोई प्रतिबंध नहीं लगाता।
Protected
एक्सेस डेराइव्ड क्लास या क्लास परिभाषा तक सीमित है।
Internal
इंटरनल एक्सेस मोडिफायर उसी प्रोग्राम के भीतर एक्सेस की अनुमति देता है जिसमें इसकी घोषणा है।
Protected Internal
इसमें प्रोटेक्टेड और इंटरनल दोनों एक्सेस मोडिफायर्स द्वारा प्रदान किए गए एक्सेस स्पेसिफायर्स होते हैं।
Private
केवल उस क्लास के अंदर सीमित जिसमें यह घोषित है। प्राइवेट के रूप में निर्दिष्ट मेंबर्स को क्लास के बाहर एक्सेस नहीं किया जा सकता।
उदाहरण
आइए प्रोटेक्टेड एक्सेस मोडिफायर का एक उदाहरण देखें, प्रोटेक्टेड मेंबर्स को एक्सेस करना:
using System;
namespace MySpecifiers
{
class Demo
{
protected string name = "Website";
protected void Display(string str)
{
Console.WriteLine("Tabs: " + str);
}
}
class Test : Demo
{
static void Main(string[] args)
{
Test t = new Test();
Console.WriteLine("Details: " + t.name);
t.Display("Product");
t.Display("Services");
t.Display("Tools");
t.Display("Plugins");
}
}
}
आउटपुट
Details: Website Tabs: Product Tabs: Services Tabs: Tools Tabs: Plugins
एक्सेस मोडिफायर्स सारांश तालिका
| मोडिफायर | क्लास के भीतर | डेराइव्ड क्लास (सेम असेंबली) | अन्य क्लास (सेम असेंबली) | डेराइव्ड क्लास (अन्य असेंबली) | अन्य क्लास (अन्य असेंबली) |
|---|---|---|---|---|---|
| public | ✓ | ✓ | ✓ | ✓ | ✓ |
| protected | ✓ | ✓ | ✗ | ✓ | ✗ |
| internal | ✓ | ✓ | ✓ | ✗ | ✗ |
| protected internal | ✓ | ✓ | ✓ | ✓ | ✗ |
| private | ✓ | ✗ | ✗ | ✗ | ✗ |
| private protected | ✓ | ✓ | ✗ | ✗ | ✗ |
नोट: C# 7.2+ में private protected मोडिफायर जोड़ा गया है।