हेल्लो दोस्तों आज के इस पोस्ट में आपको c# access modifier in hindi के बारे में आपको बताया जा रहा है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
Contents
C# access modifiers
C# में एक्सेस modifiers को ऐसे keyword होता है जिनके द्वारा आप सभी custom types(class,struct,enum,interface,delegate आदि ) और उनके members को (variables,properties,methods और events आदि) को एक्सेस level को डिफाइन करते है
एक्सेस level डिफाइन करके आप important code को hide करते है और processing के लिए जरुरी code को expose करते है एक्सेस modifiers के द्वारा आप object oriented programming का encapsulation के feature को अपने प्रोग्राम में implement कर पाते है
एक्सेस modifiers को types या उनके members को डिक्लेअर करते समय ही डिफाइन किया जाता है सभी एक्सेस modifiers को अलग अलग access rules को apply करते है
C# में available एक्सेस modifiers के बारे में आपको निचे दिया जा रहा है
public
public एक्सेस modifier के द्वारा डिक्लेअर किये गए type या members को एक्सेस पर कोई रोक नहीं होती है इन्हे ही class के बाहर कही भी class का object को क्रिएट करके एक्सेस किया जा सकता है ऐसे type या members को derived class के द्वारा भी आसानी से एक्सेस किया जा सकता है
private
private access modifier के द्वारा आप किये गए type या members को केवल उसी class या struct के अन्दर प्रयोग किया जा सकता है जिसमे उन्हें डिफाइन किया गए है private type या member को class के बाहर object को क्रिएट करके नहीं एक्सेस किया जा सकता है इसके आलावा इन्हे derived class के द्वारा भी एक्सेस नहीं किया जा सकता है
protected
protected access modifier के द्वारा आप डिक्लेअर(declare) किये गए type या members को सिर्फ उसी class के अन्दर या फिर उसे derive करने वाली class के अन्दर एक्सेस किया जा सकता है protected type या members को class के बाहर object को क्रिएट करके एक्सेस नहीं किया जा सकता है
internal
internal access modifier के द्वारा आप declare किये गए type या members को same assembly में किसी भी code के द्वारा एक्सेस किया जा सकता है लेकिन assembly के बाहर उसे इन type या members को एक्सेस नहीं किया जा सकता है
protected internal
protected internal access modifier के द्वारा आप डिक्लेअर किये गए type या members को same assembly में कही भी एक्सेस किया जा सकता है ऐसे type या member को दूसरी assembly की derived class में भी एक्सेस किया जा सकता है
private protected
private protected access modifier के द्वारा आप declare किये गए type या members को केवल उसी assembly में एक्सेस किया जा सकता है जिसमे उन्हें declare किया है और केवल उसी के class के द्वारा आप एक्सेस किया जा सकता है जिसमे उन्हें डिक्लेअर किया गए है ऐसे type या members को उन types में भी एक्सेस किया जा सकता है जो उस class को एक्सेस करते है
accessibility of different c# types
एक बात आपको हमेशा ध्यान में रखना चाहिए की सभी एक्सेस modifiers सभी type या members के साथ नहीं प्रयोग किये जा सकते है कई बार में to किसी type member का एक्सेस level भी उसके containg type के द्वारा force किया जाता है
किसी member की accessibility उसके type से अधिक नहीं होता है जिसमे उसे डिफाइन किया गया है किसी भी member का type कम से कम उतना accessible होना चाहिए की जितना वह member खुद है example के लिए protected class के public members को class के बाहर ही नहीं एक्सेस किया जा सकता है ऐसा करने के लिए आप class का भी public होना आवश्यक होता है
निचे आपको सभी types और members की accessibility बताती जा रही है
class & struct
यदि आप class declaration के समय आप एक्सेस modifier को नहीं प्रयोग करते है तो एक class या struct की default accessibility internal होती है class और struct members की default accessibility को private होती है
class members को उपर बताये गए छ: में से किसी भी एक्सेस modifier के साथ डिक्लेअर किया जा सकता है struct members को protected नहीं declare किया जा सकता है क्योकि आप struct में inheritance को सपोर्ट नहीं करते है protected के आलावा आप कोई भी एक्सेस modifier को struct members को declare करने के लिए प्रयोग किया जाता है
interface
interface को आप public या internal एक्सेस modifier के साथ भी declare किया जा सकता है class और struct की तरह ही interface की default accessibility भी internal की होती है
interface members के द्वारा आप हमेशा by default public होती है क्योकि आप interface का उद्देश्य दुसरे types के द्वारा implement किया जाना होता है interface members पर किसी भी प्रकार का एक्सेस modifier को apply नहीं किया जा सकता है
enumeration
enumeration members के द्वारा हमेशा public होते है और उन पर कोई भी एक्सेस modifier को apply नहीं किया जा सकता है
delegates
by default आप delegates का एक्सेस level को internal होता है लेकिन आप जब इन्हे nested डिफाइन किया जाता है to इनका default एक्सेस level private होते है
reference-https://www.geeksforgeeks.org/access-modifiers-in-c-sharp/
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# access modifier in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(c# access modifier in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे