सी # में, निम्न कोड को संकलित नहीं करता है:क्यों सी # सदस्य के नाम संलग्न प्रकार नाम के समान नहीं हो सकता है?
class Foo {
public string Foo;
}
सवाल यह है: क्यों?
अधिक वास्तव में, मैं समझता हूँ कि इस वजह से (मैं बोली) संकलन नहीं करता है:
सदस्य नाम नहीं है, ठीक है
ठीक उनके संलग्नित प्रकार के रूप में ही हो सकता है। मैं समझता हूं कि, मैं इसे फिर से नहीं करूँगा, मैं वादा करता हूं।
लेकिन मुझे वास्तव में क्यों नहीं समझता है संकलक किसी भी क्षेत्र को एक संलग्न प्रकार के समान नाम लेने से इंकार कर देता है। अंतर्निहित मुद्दा क्या है जो मुझे ऐसा करने से रोकता है?
यह शायद सबसे अच्छा, सबसे पूरा जवाब यहां है। वीबी में (मुझे लगता है कि मैंने अभी अपने मुंह में थोड़ी सी फेंक दी है) सीटीआर सब न्यू() ... –
क्या आपका मतलब है कि "सदस्य बनाने से रोकता है" जिस तरह से वह इस सवाल में वर्णन करता है? हाँ, यह इस सवाल का पूरा कारण है। यदि आपका मतलब है 'सार्वजनिक स्ट्रिंग फू {get; set;} सार्वजनिक शून्य Foo() {}' तो फिर भी इसकी अनुमति नहीं है। – jcolebrand
सवाल यह है कि अगर सी # इसे अस्वीकार करता है या यदि .NET टाइपसिस्टम इसे अस्वीकार करता है। और मुझे लगता है कि यह सिर्फ सी # है। – CodesInChaos