मैं निम्नलिखित त्रुटि मिल रही है:क्या मैं एक इंटरफ़ेस को कार्यान्वित कर सकता हूं जिसमें एक प्रकार की संपत्ति है जो कि बच्चे के प्रकार की है जो इंटरफ़ेस द्वारा आवश्यक है?
ClassName.PropertyName cannot implement IClassType.PropertyName because it does not have the matching return type of IBasePropertyType
अब, कोड के लिए:
public class ClassName : IClassType
{
public IChildPropertyType PropertyName { get; set; }
}
public interface IClassType
{
public IBasePropertyType PropertyName { get; set; }
}
public interface IBasePropertyType
{
// some methods
}
public interface IChildPropertyType : IBasePropertyType
{
// some methods
}
वहाँ मैं क्या प्रयास कर रहा हूँ करने के लिए एक तरीका है? मुझे पता है कि यह मुद्दा सह/contravariance के साथ है, लेकिन मुझे यह पता लगाने के लिए प्रतीत नहीं होता है कि यह कैसे करें।
तो सवाल क्या है? – Victor
@ विक्टर: क्या इंटरफ़ेस को कार्यान्वित करने का कोई तरीका है, लेकिन इंटरफ़ेस में परिभाषित संपत्ति प्रकार के लिए बच्चे के प्रकार की संपत्ति है? –