13

如何在 C# 中的多个文件和不同命名空间中编写部分类?

4

4 回答 4

32

你不能。从这里...

使用 partial 关键字表示可以在命名空间内定义类、结构或接口的其他部分

必须在同一个命名空间中。

每条评论:这是一篇讨论跨多个程序集定义命名空间的文章。从那里 ...

严格来说,程序集和命名空间是正交的。也就是说,您可以跨多个程序集声明单个命名空间的成员,或在单个程序集中声明多个命名空间。

于 2009-07-04T00:55:31.600 回答
11

您不能在多个命名空间中拥有部分类。根据定义,不同名称空间中的同名类是不同的

于 2009-07-04T00:56:39.740 回答
4

部分类(与任何其他类一样)需要存在于一个单一的命名空间中(否则它是另一个类)。

要在不同文件之间拆分它,只需在 access 关键字之后使用 partial 关键字:

// this bit of the class in a file
public partial class Employee
{
    public void DoWork()
    {
    }
}

//this bit in another file
public partial class Employee
{
    public void GoToLunch()
    {
    }
}
于 2009-07-04T00:57:51.983 回答
3

你不能。部分类的意思就是:一个类被分成几个文件。这也意味着该部分类所包含的所有文件必须具有相同的命名空间。不然就不是同一个班了。

于 2009-07-04T00:56:00.583 回答