كيفية تجاوز نوع العضو في فئة مجردة في فئة الطفل
-
18-09-2019 - |
سؤال
لدي ما بعد التعليمات البرمجية:
public abstract class TestProperty
{
public abstract Object PropertyValue { get; set; }
}
public class StringProperty: TestProperty
{
public override string PropertyValue {get;set}
}
التي تولد خطأ في تجميع، أتساءل يجب علي استخدام نوع عام في TestProperty من أجل تحقيق هدفي المتمثل في وجود نوع مختلف من نفس الاسم في فئة الطفل؟
المحلول
نعم، C # لا يدعم أنواع عودة covariant. يمكنك بالفعل استخدام الأجداد هنا:
public abstract class TestProperty<T>
{
public abstract T PropertyValue { get; set; }
}
public class StringProperty : TestProperty<string>
{
}
ليست هناك حاجة لتجاوزها في هذه المرحلة - وفي الواقع ما لم تكن ستفعل أي شيء آخر، فقد تتخلص من ذلك StringProperty
تماما واستخدام فقط TestProperty<string>
.
لا تنتمي إلى StackOverflow