कक्षाओं से प्रभावी ढंग से निपटने के लिए, सहप्रसरण और विपरीत विचरण की अवधारणा का उपयोग करें।
आइए हम निम्नलिखित को अपना वर्ग मानें। एक कक्षा दो के लिए एक आधार वर्ग है, जबकि दो तीन के लिए एक आधार वर्ग है।
class One { } class Two: One { } class Three : Two { }
एक आधार वर्ग एक व्युत्पन्न वर्ग धारण कर सकता है, लेकिन इसके विपरीत संभव नहीं है। कॉन्वर्सिस के साथ, आप एक व्युत्पन्न प्रकार पास कर सकते हैं जहां आधार प्रकार की अपेक्षा की जाती है। सह-विचरण का उपयोग सी#में सरणी, इंटरफ़ेस, प्रतिनिधियों आदि पर किया जा सकता है।
कॉन्ट्रा विचरण मापदंडों के लिए है। बेस क्लास के पैरामीटर के साथ एक विधि को एक प्रतिनिधि को असाइन करने की अनुमति है जो कॉन्ट्रावेरिएंस के साथ व्युत्पन्न वर्ग के पैरामीटर की अपेक्षा करता है।