में यह() और बेस() कन्स्ट्रक्टर इस() और आधार() कन्स्ट्रक्टर दोनों को निर्दिष्ट करने के लिए कोई भाषा वाक्यविन्यास प्रतीत नहीं होता है। इस (0) कॉल:सी (
public class Bar : Foo
{
public Bar()
:base(1)
//:this(0)
{ }
public Bar(int schmalue)
:Foo(1)
{
//Gobs of initialization code
...
Schmalue = schmalue;
}
public int Schmalue { get; private set; }
}
public class Foo
{
public Foo()
{
Value = 0;
}
public class Foo(int value)
{
Value = value;
}
public int Value { get; private set; }
}
संकलक मुझे बताते हुए जब uncommenting कि '{' उम्मीद थी एक त्रुटि देता है: निम्नलिखित कोड को देखते हुए। यह परेशान है क्योंकि यह मुझे अपने कोड को एक निजी विधि में कारक बनाने का कारण बनता है, जब इस कार्यक्षमता को ऐसी चीज को रोकने के लिए स्पष्ट रूप से प्रदान किया गया था।
क्या मैं बस यह गलत कर रहा हूं? मैंने कोई विभाजक, अर्ध-कॉलन, कॉमा का प्रयास नहीं किया है ... ऐसा लगता है कि यह देव टीम से सिर्फ एक निरीक्षण था। मुझे दिलचस्पी है कि यह क्यों छोड़ा गया था, अगर मैं इस बारे में गलत तरीके से जा रहा हूं या किसी के पास विकल्पों के लिए अच्छे सुझाव हैं।
संभावित कॉलिंग [कॉलिंग ओवर्रिडेन कन्स्ट्रक्टर और सी # में बेस कन्स्ट्रक्टर] [http://stackoverflow.com/questions/335286/calling-overriden-constructor-and-base-constructor-in-c) – Oded
सभी के लिए धन्यवाद उत्तर का संक्षेप में, समस्या यह है कि यह() एक और आधार कन्स्ट्रक्टर भी कॉल कर सकता है। – Sprague