我在命名空间中有一个基类:
namespace n1
{
public class c1
{
}
}
同一名称空间中继承自c1
的另一个类:
namespace n1
{
public class c2:c1
{
}
}
我想在另一个名称空间c2
中创建n2
的实例,因为n1
是一个库而n2
是一个Windows Form项目,我想在其中使用图书馆的课程。我添加了对n1
的引用。但是当我尝试:
using n1;
namespace n2
{
public class c3
{
public c1 c1Instance=new c1();
public c2 c2Instance=new c2();
}
}
我收到此错误消息:
无法找到类型或命名空间名称“c2”
我没有使用c1
收到此错误。
继承的类只是私有的吗?
答案 0 :(得分:2)
您需要引用项目或包含c2的dll
答案 1 :(得分:0)
您只需要从列表 References 中删除引用的dll(包含提及的类型'c2')并再次引用该库(如果是dll或项目,则为它与解决方案有关。)
通过实践发现它没有找到原因。但最常见的来源是直接引用放在另一个项目的workshop文件夹中的dll(例如 x86 \ Release 或 bin \ Debug )。因此,在开发人员工作期间,我们经常多次更改 Configuration 和/或 Platform ,最后列表 References 可能引用了dll库,而不是在预期的编译地点。在这种情况下,更好的解决方案是将我们的dll保存在名为'libs'的单独文件夹中并引用它,或者每次编译主项目时编译其他项目都没有问题,将库引用为 Project