无法访问另一个命名空间中的继承类?

时间:2013-06-04 00:00:59

标签: c#

我在命名空间中有一个基类:

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收到此错误。

继承的类只是私有的吗?

2 个答案:

答案 0 :(得分:2)

您需要引用项目或包含c2的dll

答案 1 :(得分:0)

您只需要从列表 References 中删除引用的dll(包含提及的类型'c2')并再次引用该库(如果是dll或项目,则为它与解决方案有关。)

通过实践发现它没有找到原因。但最常见的来源是直接引用放在另一个项目的workshop文件夹中的dll(例如 x86 \ Release bin \ Debug )。因此,在开发人员工作期间,我们经常多次更改 Configuration 和/或 Platform ,最后列表 References 可能引用了dll库,而不是在预期的编译地点。在这种情况下,更好的解决方案是将我们的dll保存在名为'libs'的单独文件夹中并引用它,或者每次编译主项目时编译其他项目都没有问题,将库引用为 Project