当前位置 : 主页 > 编程语言 > c语言 >

从当前方法C#调用方法2类

来源:互联网 收集:自由互联 发布时间:2021-06-25
所以我有一个主类,它有一个对象列表. ListMedia media = new ListMedia(); 媒体类是一个抽象类.有一个名为Book的类继承自媒体.以下是将图书添加到媒体列表的示例. media.Add(new Book(mediaInfo[1], Co
所以我有一个主类,它有一个对象列表.

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类,因为还有一个歌曲类没有被加密.

由于m是Media类型(不包含Decrypt()),因此您需要将m转换为Book:

Console.WriteLine(m.ToString() + ((Book)m).Decrypt());
网友评论