क्या कोई स्वचालित संपत्ति का उपयोग करके एक इंटरफेस को लागू करने का कोई तरीका है? उदाहरण के लिए, इस कोड पर विचार करें:स्वचालित संपत्ति का उपयोग कर एक इंटरफ़ेस का स्पष्ट कार्यान्वयन
namespace AutoProperties
{
interface IMyInterface
{
bool MyBoolOnlyGet { get; }
}
class MyClass : IMyInterface
{
static void Main(){}
public bool MyBoolOnlyGet { get; private set; } // line 1
//bool IMyInterface.MyBoolOnlyGet { get; private set; } // line 2
}
}
इस कोड को संकलित करता है। हालांकि, यदि आप लाइन 2 के साथ लाइन 1 को प्रतिस्थापित करते हैं तो यह संकलित नहीं होता है।
(यह है कि मैं लाइन प्राप्त करने के लिए 2 काम करने की जरूरत नहीं है - मैं तो बस उत्सुक हूँ।)
कौन-सा त्रुटि आप मिलता है? –
"क्यों" के लिए - खुद से पूछें ... मैं इसे कैसे असाइन करूं? –
मुझे दो त्रुटियां मिलती हैं: 1. 'ऑटोप्रॉपर्टीज। MyClass.AutoProperties.IMyInterface.MyBoolOnlyGet.set' इंटरफ़ेस सदस्य 'AutoProperties.IMyInterface.MyBoolOnlyGet' में नहीं मिला एक एक्सेसर जोड़ता है। 2. संशोधक 'निजी' इस आइटम के लिए मान्य नहीं है – user181813