LINUX.ORG.RU

C# и описание классов


0

0

Можно ли на C# разбить описание класса на несколько файлов?
Есть класс окна, в нем описывается дофигища всяких кнопок, деревьев, списков... Хотелось бы все это сгрупировать и разнести по 2-3 файлам. В С можно было сначала описать класс, а потом - код методов. Отдельно!
Помогите, пожалуйста.


Ответ на: комментарий от Pi

Угу. Класс большой. Элементы дерева читаются из БД. По щечку на элемент - загружаются его свойства в список. Еще много кнопок на панели, у каждой, естественно, своя функция. В каждом методе кода не больше, чем на пол экрана. Но в сумме строк 1500 :(

Ну если никак нельзя, придется особо большие куски собирать в процедуры и выносить за пределы класса. Вот только не хотел с передачей параметров долбаться :(

В жабе, я так понимаю, та же фигня? Если делается сложный интерфейс, то класс окна разрастается до неприличных размеров.
Может, есть какие-то приемы структуризации кода на таких языках?
Программирую на C# недавно, не привык еще.

ProtecT
() автор топика
Ответ на: комментарий от ProtecT

Есть приемы. Дробить сложный интерфейс на простые куски, это очевидно. Был один большой класс, стало много маленьких. :-)

chinpunkanpun
()
Ответ на: комментарий от ProtecT

Я с C# не знаком, но может подойти к проблеме с другой стороны. Разбить классы так, чтобы один можно было унаследовать от другого. Это первый вариант (Сlass1<-Class2<-Class3). Второй сделать вспомогательные классы, например дерево выделить в отдельный класс. Редко бывает, чтобы ничего из этого не прокатывало. Короче надо как-то проект на бумажке порисовать(или в UML редакторе), хотя бы набросок.

olegk ★★
()

вообще в msvs можно просто сворачивать код, если дело только в визуальном восприятии длинного кода.

anonymous
()
Ответ на: комментарий от ProtecT

> Угу. Класс большой. Элементы дерева читаются из БД. По щечку на элемент - загружаются его свойства в список. Еще много кнопок на панели, у каждой, естественно, своя функция. В каждом методе кода не больше, чем на пол экрана. Но в сумме строк 1500 :(

Ую что-то больно много фукнций оин класс выполняет

Begemoth ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.