Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Общие вопросы по .NET и C# > Предача обьекта в другой метод |
Автор: Stratus 26.1.2010, 00:20 |
Коллеги, подскажите плиз как можно передать экземпляр обьекта созданного в одном методе в другой метод того же класса? |
Автор: Stratus 26.1.2010, 01:18 | ||
не совсем то:
|
Автор: KuMa1104 26.1.2010, 01:29 | ||
|
Автор: Экскалупатор 26.1.2010, 01:43 |
Stratus, тут уже были подобные темы. если честно то я не вижу причин что бы делать этот метод в этом классе. обычно в этом классе ничего такого не делают. он выполняет свою функцию(стартует все это дело) и все на этом заканчивается. для чего делать тут этот метод? |
Автор: Stratus 27.1.2010, 23:38 |
KuMa1104 спасибо - у меня ума нехватило на такой простои и изящный выход ![]() Экскалупатор - я невижу другого оптимального варианта обращаться к обьектам уже созданой формы, поэтому в остальные методы передаю обьект FR, то есть зозданную форму со всеми обьектами. |
Автор: Экскалупатор 28.1.2010, 03:08 |
Stratus, можно сделать класс который будет управлять формой. я бы делал именно так. |
Автор: Stratus 29.1.2010, 20:58 | ||
А зачем создавать такой класс? чем он удобней я прям в классе Form1 и прописываю все что касается формы.. Можно примерчик |
Автор: Экскалупатор 30.1.2010, 01:22 |
во-первых, что бы не городить огород в одном классе. какое отношение имеет класс Program к форме? правильный ответ: никакого. во-вторых, для того что бы отделить реализацию от отображения. можно еще почитать про паттерн http://www.citforum.ru/SE/project/pattern/p_1.shtml#3.2.7 |
Автор: Stratus 2.2.2010, 00:06 | ||||
Экскалупатор, а как быть если нужно вызвать экземпляр класса находящийся в классе А в экземпляре класса В
или так:
как лучше? |
Автор: Экскалупатор 2.2.2010, 01:01 |
Stratus, не конкретный вопрос. что такое в первом случае (object ob1)? в общем случае я бы выбрал второй вариант, потому как в таком случае класс А инкапсулирует another_class и позволяет работать с ним через свои методы, облегчая жизнь в дальнейшем в том, что во-первых, класс В не имеет доступа к another_class и соответственно не может его изменять, во-вторых, можно заменить another_class на что то другое, а класс В об этом даже не узнает, соответственно его не придется изменять. первый вариант похож на вызовы между формами. когда один класс создает другой, передавая ему в качестве параметра ссылку на себя, и второй класс вызывает методы первого класса. получается очень сильная зависимость между этими классами. при использовании того же Mediator, эта проблема убирается, формы вообще друг о друге ничего не знают и никак друг на друга не влияют. все это конечно ИМХО. и выбор в данном случае, впрочем как и всегда, остается за разработчиком... |
Автор: Zakonnic 2.2.2010, 13:03 | ||
Stratus, перефразируя твой пример:
Так понятнее? |
Автор: Stratus 7.2.2010, 22:19 |
Коллеги спасибо за ответы но вопрос действительно показался неконкретным, а суть вот в чем: Есть 3 класса: В 1-ом классе уже есть экземпляр класса 3, но я планирую использовать этот же экземпляр класса 3 в классе 2 не создавая новый обьект...... |
Автор: uranpro 7.2.2010, 22:47 |
может быть поможет http://gazette.linux.ru.net/lg85/ortiz.html =) |
Автор: Экскалупатор 8.2.2010, 13:48 | ||
я ж вроде объяснял уже. нужно сделать отдельный класс который будет содержать в себе экземпляр класса 3, и будет передавать этот экземпляр туда куда тебе нужно, хоть в первый хоть во второй класс. т.е. делаешь класс 4. в нем создаешь экземпляр класса 3, а потом передаешь его в качестве параметра в класс 1 и 2. |
Автор: Stratus 14.2.2010, 00:26 |
Экскалупатор, как передать класс в качестве параметра в другой класс? |
Автор: Экскалупатор 14.2.2010, 02:08 | ||
Stratus, точно так же как и любой другой параметр.
код конечно х..., но принцип я думаю понятен. просто нету времени придумывать что то более цивильное. |