खोज…


परिचय

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

वाक्य - विन्यास

  • सार्वजनिक आंशिक वर्ग MyPartialClass {}

टिप्पणियों

  • आंशिक कक्षाओं को उसी विधानसभा और नाम स्थान के भीतर परिभाषित किया जाना चाहिए, जिस वर्ग के रूप में वे विस्तार कर रहे हैं।

  • कक्षा के सभी भागों में partial कीवर्ड का उपयोग करना चाहिए।

  • कक्षा के सभी हिस्सों में समान पहुंच होनी चाहिए; public / protected / private आदि।

  • यदि कोई भाग abstract कीवर्ड का उपयोग करता है, तो संयुक्त प्रकार को सार माना जाता है।

  • यदि कोई भाग sealed कीवर्ड का उपयोग करता है, तो संयुक्त प्रकार को सील माना जाता है।

  • यदि कोई भाग आधार प्रकार का उपयोग करता है, तो संयुक्त प्रकार उस प्रकार से विरासत में मिलता है।

  • संयुक्त प्रकार सभी आंशिक वर्गों पर परिभाषित सभी इंटरफेस विरासत में मिला है।

आंशिक कक्षाएं

आंशिक कक्षाएं वर्ग घोषणा (आमतौर पर अलग-अलग फाइलों में) को विभाजित करने की क्षमता प्रदान करती हैं। एक सामान्य समस्या जिसे आंशिक वर्गों के साथ हल किया जा सकता है, उपयोगकर्ताओं को इस डर के बिना ऑटो-जनरेट किए गए कोड को संशोधित करने की अनुमति दे रहा है कि यदि कोड को पुन: उत्पन्न किया जाता है, तो उनके परिवर्तन को अधिलेखित कर दिया जाएगा। इसके अलावा कई डेवलपर्स एक ही कक्षा या विधियों पर काम कर सकते हैं।

using System;

namespace PartialClassAndMethods
{
    public partial class PartialClass
    {
        public void ExampleMethod() {
            Console.WriteLine("Method call from the first declaration.");
        }
    }

    public partial class PartialClass
    {
        public void AnotherExampleMethod()
        {
            Console.WriteLine("Method call from the second declaration.");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            PartialClass partial = new PartialClass();
            partial.ExampleMethod(); // outputs "Method call from the first declaration."
            partial.AnotherExampleMethod(); // outputs "Method call from the second declaration."
        }
    }
}

आंशिक तरीके

आंशिक विधि में एक आंशिक वर्ग घोषणा (एक सामान्य परिदृश्य के रूप में - ऑटो-जेनरेट एक में) और एक अन्य आंशिक वर्ग घोषणा में कार्यान्वयन शामिल हैं।

using System;

namespace PartialClassAndMethods
{
    public partial class PartialClass // Auto-generated
    {
        partial void PartialMethod();
    }

    public partial class PartialClass // Human-written
    {
        public void PartialMethod()
        {
            Console.WriteLine("Partial method called.");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            PartialClass partial = new PartialClass();
            partial.PartialMethod(); // outputs "Partial method called."
        }
    }
}

आधार वर्ग से विरासत में मिली आंशिक कक्षाएं

किसी भी आधार वर्ग से विरासत में मिलने पर, केवल एक आंशिक वर्ग के लिए आधार वर्ग निर्दिष्ट होना चाहिए।

// PartialClass1.cs
public partial class PartialClass : BaseClass {}

// PartialClass2.cs
public partial class PartialClass {}

आप एक से अधिक आंशिक वर्ग में एक ही आधार वर्ग निर्दिष्ट कर सकते हैं। यह कुछ IDE टूल द्वारा निरर्थक के रूप में फ़्लैग किया जाएगा, लेकिन यह सही तरीके से संकलित करता है।

// PartialClass1.cs
public partial class PartialClass : BaseClass {}

// PartialClass2.cs
public partial class PartialClass : BaseClass {} // base class here is redundant

आप कई आंशिक कक्षाओं में विभिन्न आधार वर्गों को निर्दिष्ट नहीं कर सकते हैं, इसका परिणाम संकलक त्रुटि होगा।

// PartialClass1.cs
public partial class PartialClass : BaseClass {} // compiler error

// PartialClass2.cs
public partial class PartialClass : OtherBaseClass {} // compiler error


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow