Итак, у меня есть основной класс со списком объектов.
List<Media> media = new List<Media>();
Медиа-класс является абстрактным классом. Существует класс под названием Book, который наследуется от медиа. Ниже приведен пример добавления книги в список СМИ.
media.Add(new Book(mediaInfo[1], Convert.ToInt32(mediaInfo[2]), mediaInfo[3], summary));
mediaInfo - это массив значений, которые передаются в конструктор.
string[] mediaInfo = record.Split('|');
Когда сводка передается на носитель, она шифруется. Класс book содержит метод Decrypt (), который его расшифровывает и работает нормально. Проблема в том, что когда я пытаюсь вызвать его, я получаю сообщение об ошибке, в котором говорится, что Decrypt отсутствует в Media. Так как я это называю.
Я пробовал это, но я получаю ошибку.
foreach (Media m in media)
{
if (m.Search(query))
{
if (m.GetType() == typeof(Book))
{
Console.WriteLine(m.ToString() + m.Decrypt());
}
}
}
Я проверяю, является ли это Книгой, так почему она не может перейти к Книге, чтобы посмотреть, есть ли там Decrypt. Я не могу поместить расшифровку в класс Media, потому что есть также класс песни, который не зашифрован.