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

C# में इंटरनल (internal) वेरिएबल का स्कोप


internal एक्सेस मॉडिफायर मेंबर को उसी असेंबली (असेंबली = .exe या .dll) के भीतर किसी भी क्लास/मेथड से एक्सेसिबल बनाता है, लेकिन असेंबली के बाहर से नहीं।

उदाहरण

using System;

namespace RectangleApplication
{
    class Rectangle
    {
        // इंटरनल मेंबर वेरिएबल्स
        internal double length;
        internal double width;
        
        double GetArea()  // डिफ़ॉल्ट private
        {
            return length * width;
        }
        
        public void Display()
        {
            Console.WriteLine("Length: {0}", length);
            Console.WriteLine("Width: {0}", width);
            Console.WriteLine("Area: {0}", GetArea());
        }
    }
    
    class ExecuteRectangle
    {
        static void Main(string[] args)
        {
            Rectangle r = new Rectangle();
            r.length = 4.5;   // समान असेंबली में - अनुमत
            r.width = 3.5;    // समान असेंबली में - अनुमत
            r.Display();
            Console.ReadLine();
        }
    }
}

आउटपुट

Length: 4.5
Width: 3.5
Area: 15.75

मुख्य बिंदु

  • internal C# में क्लास/स्ट्रक्चर के लिए **डिफ़ॉल्ट** एक्सेस लेवल है (यदि कोई मॉडिफायर न दिया जाए)।
  • असेंबली सीमा पर रुकता है - अन्य असेंबली (DLL/EXE) एक्सेस नहीं कर सकतीं।
  • लाइब्रेरी कोड में आंतरिक कार्यान्वयन छुपाने के लिए उपयोगी।
  • protected internal = डेराइव्ड क्लास या समान असेंबली।
  • private protected = डेराइव्ड क्लास और समान असेंबली (C# 7.2+)।

व्यावहारिक उपयोग

// MyLibrary.dll में
internal class InternalHelper { }  // बाहरी असेंबली से छुपा
public class PublicApi { }         // बाहरी उपयोग के लिए

// ConsumerApp.exe में (MyLibrary रेफरेंस)
var api = new PublicApi();      // ✅ काम करता है
// var helper = new InternalHelper(); // ❌ कंपाइल एरर
  1. - C# में SortedList क्लास क्या है?

    एक सॉर्टेड लिस्ट एक ऐरे और हैश टेबल का संयोजन है। इसमें आइटम्स की एक सूची होती है जिसे की या इंडेक्स का उपयोग करके एक्सेस किया जा सकता है। यदि आप इंडेक्स का उपयोग करके आइटम्स एक्सेस करते हैं, तो यह एक ArrayList है, और यदि आप की का उपयोग करके आइटम्स एक्सेस करते हैं, तो यह एक Hashtable है। आइटम्स का स

  1. - C# में ArrayList क्लास क्या है?

    C# में ArrayList क्लास ArrayList (System.Collections) एक नॉन-जेनेरिक डायनामिक एरे है जो किसी भी टाइप के ऑब्जेक्ट्स स्टोर कर सकता है। यह IList, ICollection, IEnumerable इम्प्लीमेंट करता है। नोट: आधुनिक C# में List<T> प्रीफर किया जाता है (टाइप सेफ्टी, प्रदर्शन)। ArrayList के मुख्य मेथड्स मेथड

  1. - C# में क्लास के लिए डिफ़ॉल्ट एक्सेस क्या है

    यदि कोई एक्सेस मॉडिफायर निर्दिष्ट नहीं किया गया है, तो डिफ़ॉल्ट Internal है। Internal एक्सेस स्पेसिफायर एक क्लास को अपने मेंबर वेरिएबल्स और मेंबर फंक्शन्स को करंट असेंबली में अन्य फंक्शन्स और ऑब्जेक्ट्स के लिए एक्सपोज़ करने की अनुमति देता है। दूसरे शब्दों में, इंटरनल एक्सेस स्पेसिफायर वाला कोई भी मे