13

複数のファイルと異なる名前空間で C# の部分クラスをプログラミングするにはどうすればよいですか?

4

4 に答える 4

32

できません。ここから...

partial キーワードを使用すると、クラス、構造体、またはインターフェイスの他の部分を名前空間内で定義できることを示します

同じ名前空間にある必要があります。

コメントごと:これは、複数のアセンブリにまたがる名前空間の定義について説明する記事です。そこから ...

厳密に言えば、アセンブリと名前空間は直交しています。つまり、複数のアセンブリで 1 つの名前空間のメンバーを宣言したり、1 つのアセンブリで複数の名前空間を宣言したりできます。

于 2009-07-04T00:55:31.600 に答える
11

複数の名前空間に部分クラスを含めることはできません。異なる名前空間にある同じ名前のクラスは、定義上、異なるクラスです。

于 2009-07-04T00:56:39.740 に答える
4

部分クラス (他のクラスと同様) は、1 つの名前空間 (そうでない場合は別のクラス) に存在する必要があります。

異なるファイルに分割するには、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 に答える