我是c#.Net的新手。在我的解决方案中,两个名称空间无法看到对方。
我有项目A,它有部分类c1和一些方法。 具有不同命名空间的项目B也具有部分类c1,在项目A中具有相同名称的一些方法以及一些其他方法。
我在项目A中添加了引用项目B的引用,在项目A类中包含using namespace B。
但是仍然在A中,我不能使用B中的类c1中的内容,我只能从A本身看到类c1的方法。我想使用A中两个项目的c1方法。
有人可以帮帮我吗?我正在使用.Net framework 4
答案 0 :(得分:1)
B可能是另一个命名空间中的完整类,但只定义为特定文件中的部分类。正如@tzerb所提到的,你不能在两个不同的命名空间中有两个相同的部分类 - 由于命名空间不同,类名本身(完全限定)是不同的。
如果你只需要在A类中使用B类中的方法(并且可能覆盖它们),你可以使用继承:
class A: B
{
// override methods from B
// or call base.<method> when needed
}
或遏制:
class A
{
private B _b;
// construct and use _b methods directly
}
如果A
是 B
,请使用继承,否则请使用包含。
答案 1 :(得分:0)
部分类必须共享命名空间。名为c1的两个部分类是完全不同的类。