我试图完成的是有两个类,一个非泛型和一个泛型。隐藏基类的属性
我需要一个非通用类,因为我计划在List<T>
插入这个类的对象,并把它们插入下面的代码
// Non-generic
public class Response
{
public object Value { get; }
}
// Generic
public class Response<T> : Response
{
public T Value { get; set; }
}
我想有一个List<Response>
,其中当我访问这个对象我得到的Value属性作为对象。
但是,当我收到此对象作为泛型,访问T值属性并隐藏对象的Value属性。
我希望清楚,如果不是,请让我知道。
编辑:这是一个测验。因此,每个问题都有答案。例如在MultipleChoiceQuestion中,它可以具有几个答案A,B,C,D作为视图形状,或者可以是字符串或整数。
public abstract class Question
{
public Question(string questionText)
{
this.QuestionText = questionText;
}
public string QuestionText { get; set; }
}
// Non-generic
public class Response
{
public object Value { get; }
}
// Generic
public class Response<T> : Response
{
public T Value { get; set; }
}
public class MathProblemQuestion : Question
{
public Response Response { get; set; }
}
public class MultipleChoiseQuestion : Question
{
public Response Response { get; set; }
public IEnumerable<Response> PossibleResponses;
...
}
public class TrueOrFalse : Question
{
...
}
你可以尝试新的关键字,但我不知道它是否会在这种情况下工作。 public new T Value {get;组; } –
3次阅读,我没有得到你想要的,你可以发布一个伪代码的例子,你试图实现吗? –
我编辑了我的问题..对不起,英语不是我的母语(顺便说一句,我也是墨西哥人,塔毛利帕斯州) –