C# 一个命名空间在另一个命名空间中找不到类

C# 一个命名空间在另一个命名空间中找不到类,c#,.net-4.0,reference,namespaces,partial-classes,C#,.net 4.0,Reference,Namespaces,Partial Classes,我是c#Net的新手。在我的解决方案中,两个名称空间彼此看不见 我有一个项目,其中有部分类c1和一些方法。 具有不同名称空间的项目B也有一个分部类c1,在项目a和其他一些方法中,有些方法具有相同的名称 我在项目A中添加了对项目B的引用,并在项目A类中包含了使用命名空间B 但仍然在A中,我不能使用B中c1类的内容,我只能从A本身看到c1类的方法。我想使用A中两个项目的c1方法 有人能帮我吗?我使用的是.Net framework 4,部分类必须共享一个名称空间。两个名为c1的分部类是完全不同的类。

我是c#Net的新手。在我的解决方案中,两个名称空间彼此看不见

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

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

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


有人能帮我吗?我使用的是.Net framework 4,部分类必须共享一个名称空间。两个名为c1的分部类是完全不同的类。

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

B可能是另一个命名空间中的完整类,但仅定义为特定文件中的分部类。正如@tzerb所提到的,您不能在两个不同的名称空间中有两个相同的分部类-由于名称空间不同,类名称本身(完全限定)也不同

如果您只需要使用类A中的类B中的方法(并可能重写它们),则可以使用继承:

class A: B
{
    // override methods from B
    // or call base.<method> when needed
}

如果
A
B
,则使用继承,否则使用包含。

B可能是其他命名空间中的完整类,但仅定义为特定文件中的部分类。正如@tzerb所提到的,您不能在两个不同的名称空间中有两个相同的分部类-由于名称空间不同,类名称本身(完全限定)也不同

如果您只需要使用类A中的类B中的方法(并可能重写它们),则可以使用继承:

class A: B
{
    // override methods from B
    // or call base.<method> when needed
}

如果
A
B
,则使用继承,否则使用包含。

因此,我通过更改属性和它们类中的名称空间部分,使这两个项目具有相同的名称空间。它们仍然是两个只有相同名称空间的不同项目。这样行吗?我只想在项目A中使用B中的c1方法,其中c1方法也在A中定义,有一些重叠。因此,我通过更改属性和它们类中的名称空间部分,使两个项目具有相同的名称空间。它们仍然是两个只有相同名称空间的不同项目。这样行吗?我只想在项目A中使用B中的一些c1方法,其中c1方法也在A中定义,有一些重叠。它仍然是不同的项目。为了让项目A引用项目B中的某些内容,它需要编译B并将其包含在A中。一旦你编译了一个类,你就不能再在
部分定义中使用它了-根据我的回答,你现在可以包含或继承它了。感谢yamen,事情是A和B是两个具有许多类和相同名称空间的项目。在项目A中:命名空间示例1{public partial class c1{public void getsomething(){return result1;}}}}}在项目B中:命名空间示例1{public partial class c1{public void getsomethingElse(){return result2;}}}我希望能够在项目A中调用getsomething()和getsomethingElse(),但我看不到getsomethingElse()现在,由于它在另一个项目中…创建对象B:
var B=new B()
,然后在
类a中调用它:
B.getSomethingElse()
“一旦编译了一个类,就不能再在部分定义中使用它-现在可以包含或继承它”--好的,谢谢,我想我现在有点明白了:)但是a和B实际上是相同的命名空间,相同的类名,只有不同的项目名…我不能在a中创建B的实例,因为它们有相同的名称。。我只想在项目A中调用getSomethingElse()。。可能吗?还是不同的项目。为了让项目A引用项目B中的某些内容,它需要编译B并将其包含在A中。一旦你编译了一个类,你就不能再在
部分定义中使用它了-根据我的回答,你现在可以包含或继承它了。感谢yamen,事情是A和B是两个具有许多类和相同名称空间的项目。在项目A中:命名空间示例1{public partial class c1{public void getsomething(){return result1;}}}}}在项目B中:命名空间示例1{public partial class c1{public void getsomethingElse(){return result2;}}}我希望能够在项目A中调用getsomething()和getsomethingElse(),但我看不到getsomethingElse()现在,由于它在另一个项目中…创建对象B:
var B=new B()
,然后在
类a中调用它:
B.getSomethingElse()
“一旦编译了一个类,就不能再在部分定义中使用它-现在可以包含或继承它”--好的,谢谢,我想我现在有点明白了:)但是a和B实际上是相同的命名空间,相同的类名,只有不同的项目名…我不能在a中创建B的实例,因为它们有相同的名称。。我只想在项目A中调用getSomethingElse()。。可能吗?