प्रति सी # 4.0 भाषा विशिष्टता के रूप में (कोडित: [10.1.5] पैरामीटर की कमी टाइप करें) दो बातें बताता है: प्रकार के प्रकार के
1] The type must not be object. Because all types derive from object, such a constraint would have no effect if it were permitted.
2] If T has no primary constraints or type parameter constraints, its effective base class is object.
जब आप एक सामान्य वर्ग को परिभाषित, आप प्रतिबंध लागू कर सकते हैं कि क्लाइंट कोड टाइप क्लास के लिए उपयोग कर सकता है जब यह आपकी कक्षा को तुरंत चालू करता है। यदि क्लाइंट कोड किसी प्रकार का उपयोग करके अपनी कक्षा को तुरंत चालू करने का प्रयास करता है जिसे किसी बाधा द्वारा अनुमति नहीं है, तो परिणाम संकलन-समय त्रुटि है। इन प्रतिबंधों को बाधा कहा जाता है। जहां प्रासंगिक कीवर्ड का उपयोग करके बाधाओं को निर्दिष्ट किया जाता है। यदि आप एक सामान्य प्रकार को संदर्भ प्रकार के रूप में बाध्य करना चाहते हैं, तो इसका उपयोग करें: कक्षा।
-MSDN
बाधा अनुसार विशेष वर्ग 'पहचानकर्ता' नहीं हो सकता। निम्नलिखित प्रकार की कमी के रूप में इस्तेमाल नहीं किया जा सकता है:
- System.Object
- System.Array
- System.Delegate
- System.Enum
- System.ValueType।
स्रोत
2015-04-30 08:19:31
सभी सी # कक्षा वस्तु के उप-वर्ग हैं। इस तरह की बाधा थोड़ा अजीब है :) –
इसके लायक होने के लिए, मैं टी == ऑब्जेक्ट == शून्य को इस SO प्रश्न के रूप में बनाने की कोशिश कर रहा था: http: // stackoverflow।कॉम/क्यू/10644495/328397 – LamonteCristo
यह बाधा अनावश्यक होगी, क्योंकि यह डिफ़ॉल्ट है ... –