[英]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.