我如何使用对象/类从另一个命名空间在c# (visual studio 2013)
本文关键字:visual studio 2013 命名空间 另一个 何使用 对象 | 更新日期: 2023-09-27 17:50:40
我在我的解决方案中有几个不同的名称空间,我想在另一个名为DAL的名称空间中使用来自名称空间BL_Backend的名为"Doctor"的对象。我试过添加对DAL的引用(对BL_Backend的引用),然后添加"使用BL_Backend",但它不起作用。但是,像Doctor这样的类不会在命名空间DAL中显示为已知类。
namespace BL_Backend
{
…
namespace DAL
{
…
//Here create object as "Doctor" for BL_Backend class
}
}
例如,当我从DAL调用医生的构造函数时,它说这个构造函数不存在,但当我在命名空间bl_backend中编写完全相同的命令时,它工作得很好。
谢谢!
我假设Doctor
在BL_Backend
程序集中被声明为内部类。注意:如果类没有public
访问修饰符,则默认为internal
:
namespace BL_Backend
{
class Doctor // this class is internal
{
}
}
内部类只在它们定义的程序集中可见(好吧,有一个属性InternalsVisibleTo,它允许其他程序集看到内部类,但是没有应用这个属性,类对其他程序集不可见)。
如果您想在DAL
中使用程序集BL_Backend
中的类Doctor
,则必须将DAL
中的引用添加到BL_Backend
中,而不是相反。
没有修饰符的类默认情况下是内部的,所以要确保你的修饰符是public的。第二个选择是注意构建顺序——这在VS12+中不再是个问题,但在以后的版本中却是。