私が達成しようとしているのは、非ジェネリックとジェネリックの 2 つのクラスを持つことです。
このクラスのオブジェクトを挿入し、それらを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 プロパティにアクセスし、オブジェクトの 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
{
...
}