一个命名空间在另一个命名空间中找不到类
本文关键字:命名空间 另一个 找不到 一个 | 更新日期: 2023-09-27 18:34:41
我是 C# .Net 的新手。 在我的解决方案中,两个命名空间无法相互看到。
我有项目 A,其中包含部分类 c1 和一些方法。具有不同命名空间的项目 B 也具有分部类 c1,一些方法在项目 A 和其他一些方法中具有相同的名称。
我在项目 A中添加了对项目 B 的引用,并在项目 A 类中包含使用命名空间 B。
但是仍然在 A 中,我不能从 B 中使用类 c1中的内容,我只能从 A 本身看到类 c1 的方法。 我想在 A 中使用来自两个项目的 C1 方法。
有人可以帮我解决这个问题吗? 我正在使用.Net框架4
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
,则使用继承,否则使用包含。
分部类必须共享一个命名空间。 称为 c1 的两个偏类是完全不同的类。