“无法隐式转换(子类型)为(BaseType)”?

时间:2012-05-30 01:18:39

标签: c# class

我正在学习使用已经创建的库并对演示项目进行调整。 我使用一些已经制作的库.dll定义了类:

public class PdfProcessor
{
   public int process(Pdf varname)
   {
     status=doSomeConversion(varname);
     status=doFtpUpload(varname);
     return status;
   }
}

public class Pdf
{
  public DateTime systemCreateDate;
  public int  id;
  public string description;

  public void  method1()
  {
    doSomePreperation();
  }
}

我想在我的项目中添加一些额外的变量,并派生出该类:

public class MyPdf : Pdf

{
  public string checksum;
  public double rating;
}

当我尝试:

Pdf varname = new MyPdf(); 

我明白了:

  

错误:无法隐式转换类型'MyPdf>' 'Pdf>'

如何从派生类传递给PdfProcessor.process()对象? 我不想改变库代码中的任何内容。

0 个答案:

没有答案