繁体   English   中英

从子类到父类的转换到dll中的方法

[英]Casting from child to parent class to a method in dll

在exe中,有如下定义的子类和基类。 在exe的多个文件中定义了部分classRootX。

namespace X
{
    public partial classRootX
    {

    }

    public class child : classRootX
    {
         A a = new A(( classRootX ) this );
    }
}

在dll中

using X;
namespace Y
{
   public class A
   {
       public A(ClassRootX root)
       {
       }
   }
}

出现编译器错误

“参数1:无法从'classRootX [.... \\ file.cs(79)]'转换为'classRootX [.... \\ xxx.dll]'

有修复建议吗?

您不能使静态dll取决于您正在编写的代码。

dll知道编译时的ClassRootX 它不知道您当前的ClassRootX 如果dll没有root.SomeProperty并且您的代码没有该怎么办? dll将出现“编译错误”,这没有任何意义。

您不应让两个项目相互引用,而这会产生一个循环引用。 如果需要某种灵活性来接收A类,可以使用dll中定义的接口,然后使classRootX实现该接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM