में वस्तु से विरासत के लिए छोड़ दिया अनिर्दिष्ट हर class
परिभाषा परोक्ष System.Object
से इसलिए दो परिभाषा बराबर हैं प्राप्त कर लेंगे तो बेमानी है।
केवल समय इन दो अलग अलग हो सकता है अगर किसी को वास्तव में एक ही नाम स्थान में एक और Object
प्रकार परिभाषित किया गया है। इस मामले में Object
के स्थानीय परिभाषा प्राथमिकता दी जाती है और बदल जाएगा विरासत वस्तु
namespace Example {
class Object { }
class C : Object { }
}
बहुत ज्यादा एक कोने मामले लेकिन यह कहना नहीं होता है, तो मैं इसे पहले
नोट नहीं देखा था कि यदि आपने Object
के बजाय object
का उपयोग किया तो भी यह सच नहीं है। सी # कीवर्ड object
System.Object
के लिए एक प्रकार उर्फ है और इसलिए यह Example.Object
से मेल नहीं होता।
namespace Example2 {
class Object { }
class C : Object { } // Uses Example.Object
class D : object { } // Uses System.Object
}
बेशक
यदि आप वास्तव में एक बुराई डेवलपर आप अभी भी साथ object
namespace System {
class Object {
private Object() { }
}
}
namespace Example3 {
// This will properly fail to compile since it can't bind to the private
// Object constructor. This demonstrates that we are using our definition
// of Object instead of mscorlib's
class C : object { } // Uses our System.Object
}
किसी भी वर्ग परिभाषा पर यह अन्य लेख कि स्पष्ट रूप से 'परोक्ष object' से प्राप्त कर लेंगे एक आधार वर्ग निर्दिष्ट नहीं है देखते हैं। –