Попытка разбить файлы на части, чтобы сделать код легче для чтения;какие-либо сочетания клавиш, чтобы избежать чрезмерного отступа? - PullRequest
1 голос
/ 14 января 2011

Я работаю над проектом, в котором мы вложили несколько сложных классов в другие классы, и дошло до того, что разбиение их на отдельные файлы может помочь нам поддерживать какой-то порядок в беспорядке.

Но с одним вложенным классом, даже если файл не содержит ничего другого (никаких других классов), мне все равно приходится ставить перед каждой строкой префикс с тремя уровнями отступа, что делает слишком легким достижение границ горизонтальной читаемости даже с простыми утверждениями (хотя многие с длинными именами функций / классов / переменных).

Файл может выглядеть так:

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 не работает, но что-то подобное)?

Ответы [ 2 ]

4 голосов
/ 14 января 2011

Не делай этого.

Используйте вложенность классов экономно только для простых классов внутреннего использования.Тот факт, что вы пытаетесь разделить их на разные файлы, говорит о чем-то, то есть вы немного переборщили с вложенными классами.

Публичное их использование вне вашего кода - ужасно уродливо.

Если вам нужно сохранить все внутри, используйте внутренний модификатор.Пространства имен и папки проекта могут помочь вам все организовать.

1 голос
/ 14 января 2011

Звучит так: Нет .

У нас есть несколько альтернативных подходов, но к ответу на вопрос: Есть ли в C # сокращенные записи для вложенных классов? Нет , нет.

...