加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:27:58 所属栏目:百科 来源:网络整理
导读:所以我有一个主类,它有一个对象列表. ListMedia media = new ListMedia(); 媒体类是一个抽象类.有一个名为Book的类继承自媒体.以下是将图书添加到媒体列表的示例. media.Add(new Book(mediaInfo[1],Convert.ToInt32(mediaInfo[2]),mediaInfo[3],summary)); m
所以我有一个主类,它有一个对象列表.

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());

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读