Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C#

C# में उपलब्ध विभिन्न प्रकार के एक्सेस संशोधक क्या हैं?

एक्सेस संशोधक का उपयोग किसी वर्ग या वर्ग के प्रकार के सदस्य की पहुंच के दायरे को निर्दिष्ट करने के लिए किया जाता है। छह अलग-अलग प्रकार के एक्सेस संशोधक हैं।

  • सार्वजनिक

  • निजी

  • संरक्षित

  • आंतरिक

  • संरक्षित आंतरिक

  • निजी संरक्षित

सार्वजनिक पहुंच संशोधक

सार्वजनिक पहुंच संशोधक को लागू करने वाली वस्तुएं बिना किसी प्रतिबंध के परियोजना में हर जगह से पहुंच योग्य हैं।

उदाहरण

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name);
         //Person Name is accessible as it is public
      }
   }
   public class Person{
      public string Name = "Mark";
   }
}

निजी पहुंच संशोधक

निजी एक्सेस संशोधक को लागू करने वाली वस्तुएँ केवल एक वर्ग या संरचना के अंदर ही पहुँच योग्य होती हैं। परिणामस्वरूप, हम उन्हें उनके द्वारा बनाई गई कक्षा के बाहर एक्सेस नहीं कर सकते।

उदाहरण

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name);
         //Since Name is private it is not accessible in Program class.
         // Error: Person.Name is inaccessible due to its protection level.
      }
   }
   public class Person{
      private string Name = "Mark";
   }
}

संरक्षित एक्सेस संशोधक

संरक्षित कीवर्ड का अर्थ है कि वस्तु कक्षा के अंदर और उस वर्ग से प्राप्त होने वाले सभी वर्गों में पहुंच योग्य है।

उदाहरण

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Employee employee = new Employee();
         employee.Print(); //Output: Mark
         Person person = new Person();
         Console.WriteLine(person.Name);
         // Error: Person.Name is inaccessible due to its protection level.
      }
   }
   public class Person{
      protected string Name = "Mark";
   }
   public class Employee : Person{
      public void Print(){
         Console.WriteLine(Name);
      }
   }
}

आंतरिक पहुंच संशोधक

आंतरिक कीवर्ड के लिए, एक्सेस विशेष रूप से वर्तमान प्रोजेक्ट असेंबली में परिभाषित कक्षाओं तक सीमित है।

उदाहरण

प्रोजेक्ट 1 -

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name); //Output: Mark
      }
   }
   public class Person{
      internal string Name = "Mark";
   }
}

आउटपुट

Mark

प्रोजेक्ट 2 -

using MyApplication;
using System;
namespace Project2{
   public class Project2Class{
      public void Print(){
         Person person = new Person();
         Console.WriteLine(person.Name);
         // Error: Person.Name is inaccessible due to its protection level.
      }
   }
}

संरक्षित आंतरिक एक्सेस संशोधक -

संरक्षित आंतरिक पहुंच संशोधक संरक्षित और आंतरिक का संयोजन है। नतीजतन, हम संरक्षित आंतरिक सदस्य को केवल उसी असेंबली में या अन्य असेंबली में व्युत्पन्न कक्षा में एक्सेस कर सकते हैं।

उदाहरण

प्रोजेक्ट 1 -

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         Person person = new Person();
         Console.WriteLine(person.Name); //Output: Mark
      }
   }
   public class Person{
      protected internal string Name = "Mark";
   }
}

आउटपुट

Mark

प्रोजेक्ट 2 -

using MyApplication;
using System;
namespace Project2{
   public class Project2Class : Person{
      public void Print(){
         Console.WriteLine(Name); //Output: Mark
      }
   }
}

निजी संरक्षित एक्सेस संशोधक

निजी संरक्षित पहुंच संशोधक निजी और संरक्षित कीवर्ड का एक संयोजन है। हम सदस्यों को युक्त वर्ग के अंदर या एक वर्ग से प्राप्त कक्षा में एक्सेस कर सकते हैं, लेकिन केवल उसी असेंबली (प्रोजेक्ट) में। इसलिए, यदि हम इसे किसी अन्य असेंबली से एक्सेस करने का प्रयास करते हैं, तो हमें एक त्रुटि मिलेगी। यह संशोधक C# संस्करण 7.2 और बाद के संस्करण में मान्य है।


  1. C# ASP.NET WebAPI में विभिन्न प्रकार के फ़िल्टर क्या हैं?

    वेबएपी फ्रेमवर्क अनुरोध प्रसंस्करण के विभिन्न स्तरों पर अतिरिक्त तर्क को इंजेक्ट करने के लिए फिल्टर का उपयोग किया जाता है। फ़िल्टर क्रॉस-कटिंग चिंताओं (लॉगिंग, प्राधिकरण और कैशिंग) के लिए एक रास्ता प्रदान करते हैं। एक घोषणात्मक या प्रोग्रामेटिक तरीके से एक क्रिया विधि या नियंत्रक पर फ़िल्टर लागू किए

  1. पायथन में विभिन्न पहचान ऑपरेटर प्रकार क्या हैं?

    प्रत्येक पायथन ऑब्जेक्ट को एक विशिष्ट पहचान संख्या सौंपी जाती है जब इसे मेमोरी में संग्रहीत किया जाता है। इसे आईडी () फ़ंक्शन द्वारा प्राप्त किया जा सकता है। is ऑपरेटर दो वस्तुओं की id () की तुलना करता है और यदि दोनों वस्तुओं का मान समान है तो सही है अन्यथा यह गलत है। दूसरी ओर, ऑपरेटर गलत नहीं है

  1. पायथन में विभिन्न प्रकार के उद्धरण क्या हैं?

    पायथन में स्ट्रिंग ऑब्जेक्ट बनाने के लिए कोटेशन प्रतीकों का उपयोग किया जाता है। पायथन सिंगल, डबल और ट्रिपल कोटेड स्ट्रिंग्स को पहचानता है। स्ट्रिंग अक्षर सिंगल कोट्स (हैलो), डबल कोट्स (हैलो) या ट्रिपल कोट्स (हैलो या हैलो) में वर्णों के अनुक्रम को संलग्न करके लिखे गए हैं। >>> var1='hello