यदि नहीं और संदर्भ प्रकार और मूल्य प्रकारों का सेट परस्पर अनन्य हैं, क्यों नहीं है इस संकलन:एक प्रकार एक संदर्भ प्रकार और एक मूल्य प्रकार एक ही समय में हो सकता है?
public static void Do<T>(T obj) where T : struct { }
public static void Do<T>(T obj) where T : class { }
संकलक राज्यों: "पहले से ही टाइप एक सदस्य कहा जाता है को परिभाषित करता है एक ही पैरामीटर प्रकार के साथ 'क्या' ", लेकिन टी और टी यहां समान नहीं हैं। एक structs के लिए बाध्य है, दूसरा कक्षाओं के लिए बाधा है। समारोह में एक कॉल हमेशा हल करने योग्य होना चाहिए। क्या काउंटर उदाहरण हैं?
दरअसल, एक "संदर्भ प्रकार" (जिसमें प्रतिनिधियों, इंटरफेस इत्यादि शामिल हैं - न केवल कक्षाएं) शामिल हैं, और दूसरा स्ट्रक्चर के लिए बाध्य है ** को छोड़कर ** शामिल होने वाले 50% (संभावित) structs को छोड़कर 'Nullable' में। उदाहरण के लिए, उन बाधाओं में वर्तमान में 'टी === int? 'की अनुमति नहीं है। –