- У меня есть интерфейс (Ae), в котором есть список объектов (List) из другого интерфейса (Ba).
- У меня есть класс, реализующий интерфейс Ae.
- У меня есть несколько классов, реализующих интерфейс Ba.
Есть ли способ сделать так, чтобы каждый класс, реализующий интерфейс Ae, имел список одного из конкретных классов, реализующих Ba как свойство?
public interface IQuestion
{
IAnswerOption[] Answers { get; set; }
}
public interface IAnswerOption
{
int Id { get; }
bool IsCorrect { get; set; }
}
public class AnswerOptionText : IAnswerOption
{
public int Id { get; }
public bool isCorrect;
public string ansText;
}
public class AnswerOptionImage : IAnswerOption
{
public int Id { get; }
public bool isCorrect;
public string imgSlug;
}
public class AudioQuestion : IQuestion
{
public AnswerOptionImage[] Answers;
public string audioName;
}
public class TextQuestion : IQuestion
{
public AnswerOptionText[] Answers { get; set; }
public string questionText { get; set; }
}
Когда я пытаюсь это сделать, AudioQuestion и TextQuestion не позволяют мне использовать AnswerOptionImage[] и AnswerOptionText[]. соответственно.
Visual Studio говорит, что мне нужно реализовать элемент интерфейса IQuestion.Answers, но это не то, что я собираюсь сделать.
Если кто-то может мне помочь, я был бы очень признателен. Спасибо.