![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Titeha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.2.2010 Репутация: нет Всего: нет |
Добрый день!
В С++ имеется возможность в классе объявить какую-нибудь функцию (метод), а затем за пределами класса описать реализацию этого метода. Есть ли такая возможность в C#? Из того, что найдено на MSDN имеет очень серьёзные ограничения и для практического использования мало подходит. Возможно я не правильно задавал вопрос поисковой машине. Спасибо Это сообщение отредактировал(а) Titeha - 2.9.2013, 09:35 |
|||
|
||||
infarch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: 1 Всего: 1 |
На ум приходят только интерфейсы... Может приведете пример задачи для которой вам это нужно?
|
|||
|
||||
Fobos |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 9.2.2008 Где: Москва Репутация: нет Всего: нет |
Если я Вас правильно понял, ключевое слово partial Вас спасет.
|
|||
|
||||
Titeha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.2.2010 Репутация: нет Всего: нет |
Думал уже через интерфейсы. Возможно со временем так и сделаю.
Задача? Да собственно имеется класс. Реализация некоторых методов весьма громоздка, и смотреть что уже реализовано, что еще предстоит - трудоемкая задача при имеющемся раскладе. В Visual Studio есть, конечно, инструменты облегчающие жизнь программиста. Но с ведением лицензионной политики в Российских предприятиях (давай делай, платить за среду не будем) становиться грустно. Данные инструменты остаются в стороне. Приходиться ковырять в блокноте. Добавлено через 1 минуту и 23 секунды
из-за ограничений, накладываемых на partial такое решение возможно не всегда |
|||
|
||||
Fobos |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 9.2.2008 Где: Москва Репутация: нет Всего: нет |
Бороться со сложностью разбивая класс на более мелкие? Т.е. у класса можно выделить некие части в отдельные файлы? Т.е. класс выполняет много функций? Проще наверное зарефакторить. Хотя, на месте конечно виднее. Partial это в моем понимании самый подходящий функционал. Другого не найдете. |
|||
|
||||
Titeha |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.2.2010 Репутация: нет Всего: нет |
Нет, стараюсь чтобы методов в классе было не много, просто некоторые методы довольно большие по количеству кода. Может и можно его разобрать на множество мелких, но на мой взгляд это не улучшит понимание кода человеком, который будет потом его читать. Плеваться и так будут, а в случае, если размажу код то еще и ядом. |
|||
|
||||
Fobos |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 9.2.2008 Где: Москва Репутация: нет Всего: нет |
Я бы Вам посоветовал почитать о такой вещи как SOLID, если вдруг не читали.
|
|||
|
||||
jonie |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 22 Всего: 118 |
речь тут шла не о частичных функциях, а о частичных классах - выносите хоть "по методу в файл". -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
jsharp36 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 8.10.2011 Репутация: нет Всего: 1 |
"Нет, стараюсь чтобы методов в классе было не много, просто некоторые методы довольно большие по количеству кода."
Желательно, чтобы кода было мало в функциях, а они адекватно назывались, чтобы понятно было, что делают. А не наоборот - мало функций, много кода. В С# разделить нельзя объявление от реализации. Разве что интерфейс. Но обычно они для только этого (навигации) не используются. И главный вопрос. Причем лицензии? Поставьте себе бесплатную Express версию. Там функционала за глаза. Им обычно не пользуются никто (платную бесплатно ставят), но по опыту, ничего особо из платного не используется. Почти весь нужный функционал в экспресс есть. Есть еще Mono. Видел раз издалека. Под винду тоже есть. Там бесплатная среда для разработки. Довольно таки приятная на вид. Ну в очень крайнем случае ставьте это: http://notepad-plus-plus.org/ Да и просто так его поставьте, пригодится. Это просто блокнот, он проекты не поддерживает, но блокнот необычный. Он поддерживает массу языков программирования - для них делает подсветку языка, схлопывание методов. Вашу проблему решит даже он. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
dzaraev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Полностью поддерживаю jsharp36 и к альтернативам этерпрайзной студии добавляю http://ru.wikipedia.org/wiki/SharpDevelop
--------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |