不能访问另一个命名空间中的继承类
本文关键字:继承 命名空间 访问 另一个 不能 | 更新日期: 2023-09-27 18:16:36
在命名空间中有一个基类:
namespace n1
{
public class c1
{
}
}
同一命名空间中继承自c1
的另一个类:
namespace n1
{
public class c2:c1
{
}
}
我想在另一个命名空间n2
中创建c2
的实例,因为n1
是一个库,n2
是一个Windows窗体项目,我想使用库的类。我添加了一个参考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还是项目,如果它链接到解决方案)。
它是在实践中发现的,没有找到原因。然而,最常见的来源是直接引用放置在其他项目的车间文件夹中的dll(例如x86'Release或bin'Debug)。因此,在我们的开发工作中,我们经常更改Configuration和/或Platform多次,最后列表References可能有对dll库的引用,这些库不在预期的编译位置。在这种情况下,更好的解决方案是将我们的dll保存在名为"libs"的单独文件夹中并引用它,或者如果每次编译主项目时编译其他项目没有问题,则将库引用为 project