1

私は、やや複雑なクラスを他のクラス内にネストしているプロジェクトに取り組んでおり、これらを別々のファイルに分割すると、混乱に対して何らかの順序を維持するのに役立つ場合があります。

しかし、単一のネストされたクラスでは、ファイルに他に何も含まれていない (他のクラスがない) 場合でも、各行の前に 3 レベルのインデントを付ける必要があります。ステートメント (ただし、長い関数/クラス/変数名を持つ多くのステートメント)。

ファイルは次のようになります。

namespace Example.Namespace1
{
    public partial class ImportantClass
    {
        protected partial class Nested1
        {
            // I can finally start writing code here
            public int AddOffset(int offset)
            {
                // Code inside of a method
            }

            public string ID{ get; protected set; }
        }
    }
}

Nested1それで、水平方向のスペースを節約できる宣言へのショートカットはありますか (たとえばprotected partial class ImportantClass.Nested1、機能しませんが、そのようなものです)。

4

2 に答える 2

4

やらないでください。

単純な内部使用クラスだけにクラスのネストを慎重に使用してください。それらを別々のファイルに分割しようとしているという事実は、何かを教えてくれます。つまり、ネストされたクラスを少し使いすぎているということです。

それらをコードの外で公に使用するのは醜いです。

物事を内部に保持する必要がある場合は、内部修飾子を使用してください。名前空間とプロジェクト フォルダーは、すべてを整理するのに役立ちます。

于 2011-01-13T21:16:08.213 に答える
1

答えはNoのようです。

ここにはいくつかの代替アプローチがありますが、質問への答えは次のとおりです。C# には入れ子になったクラスの略記法がありますか? いいえ、そうではありません。

于 2011-01-14T17:04:38.977 に答える