1

我是 c# .Net 的新手。在我的解决方案中,两个命名空间不能互相看到。

我有项目 A,其中有部分类 c1 和一些方法。具有不同命名空间的项目 B 也有一个部分类 c1,项目 A 中的一些同名方法和其他一些方法。

我在项目 A 中添加了对项目 B 的引用,在项目 A 类中包含使用命名空间 B。

但是仍然在A中,我无法使用B中c1类中的内容,我只能从A本身中看到c1类的方法。我想在 A 的两个项目中使用 c1 的方法。

有人可以帮我吗?我正在使用 .Net 框架 4

4

2 回答 2

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 如果是 a 则使用继承B,否则使用包含。

于 2012-05-21T02:38:45.100 回答
0

部分类必须共享一个命名空间。称为 c1 的两个部分类是完全不同的类。

于 2012-05-20T22:19:59.670 回答