[英]Can't access inherited class in another namespace?
我在命名空间中有一个基类:
namespace n1
{
public class c1
{
}
}
继承自c1
的同一名称空间中的另一个类:
namespace n1
{
public class c2:c1
{
}
}
我想在另一个命名空间n2
创建一个c2
实例,因为n1
是一个库,而n2
是一个Windows Form项目,我想在这里使用库的类。 我添加了对n1
的引用。 但是当我尝试:
using n1;
namespace n2
{
public class c3
{
public c1 c1Instance=new c1();
public c2 c2Instance=new c2();
}
}
我收到此错误消息:
找不到类型或命名空间名称“c2”
我没有用c1
得到这个错误。
继承的类只是私有的吗?
您需要引用项目或包含c2的dll
您只需要从列表引用中删除引用的dll(包含提到的类型'c2' )并再次引用该库(如果它链接到解决方案,则作为dll或项目)。
通过实践发现它没有找到原因。 然而,它最常见的来源是直接引用放在另一个项目的workshop文件夹中的dll(例如x86 \\ Release或bin \\ Debug )。 因此,在我们的开发人员工作期间,我们经常多次更改Configuration和/或Platform ,最后列表References可能引用了不在预期编译位置的dll库。 在这种情况下,更好的解决方案是将我们的dll保存在名为'libs'的单独文件夹中并引用它,或者每次编译主项目时编译其他项目都没有问题,将库引用为Project 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.