Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я не так уж и отменно знаю шарп. На нем сделал только один проект. Довольно сложный. Тоже робот. Теперь делаю его на MQL5.
С-4, при всем уважении, Ваш пример не подошел. Мне нужно именно то что я написал - иерархически вложенный класс с доступом к верхнему(первому) уровню в иерархии. Без наследования. Пусть это называется инкапсуляция, я не против ))
Если вложенный класс узко специализирован, т.е. хранит и обрабатывает инфу о позиции, какой смысл делать его наследником основного класса? Достаточно только доступа к его полям. Например, кратность лота, цены и т.д. Иначе получается чёрти-чО, если таких классов пять, например.
stringo, зачем делать отдельный метод для передачи параметра, который нужен только при создании класса? Я думал что для этого и существуют параметры конструктора. Где тут ошибки проектирования, наоборот строгая иерархия.
На шарпе я делал именно так. Через конструктор, только ссылкой а не указателем. И проблем не возникало. А тут не получилось. Ни с наскока, ни через 5 часов поисков. Непонятки в итоге оказались только в синтаксисе.
Не говорю что язык плохой, но имхо MQL5/[++] менее дружественный чем шарп. Интересно какое преимущество в скорости.
Спасибо злому колдуну. Он заклинания хорошо выучил. Старый наверное
1. Почему бы Вам не применить инкапсуляцию? То есть, объект одного класса является членом другого класса безо всякого наследования.
Это называется агрегация )
2. Почему Вам необходимо передавать пойнтер именно в конструкторе? Отдельный метод сделать не судьба?
Это частичное следование RAII
Это называется агрегация )
Я всё равно не против ))
Вона аж ветка про преимущества языков проснулась ))
Вона аж ветка про преимущества языков проснулась ))
На шарпе я делал именно так. Через конструктор, только ссылкой а не указателем.
Ссылка в C# - это и есть типобезопасный указатель на объект. Все объекты в нем создаются оператором new, т.е. динамически. Т.е. объявление int i; Это System.Int32 i = new System.Int32(); И все разговоры о том, что C# проще MQL5 далеко не так, C# намного, намного сложней MQL5, но конечно при этом и гораздо мощней.
С-4, при всем уважении, Ваш пример не подошел. Мне нужно именно то что я написал - иерархически вложенный класс с доступом к верхнему(первому) уровню в иерархии. Без наследования. Пусть это называется инкапсуляция, я не против ))
То, что Вам нужно - слабый аргумент. Возможно Вы ошибаетесь думая что вам нужна агрегация, тогда как на самом деле Вам нужно классическое наследование. Мало данных что бы понять, что Вам нужно на самом деле, но то, что Вам нужна агрегация по приведенной Вами задачи неоднозначно.
Ссылка в C# - это и есть типобезопасный указатель на объект. Все объекты в нем создаются оператором new, т.е. динамически. Т.е. объявление int i; Это System.Int32 i = new System.Int32(); И все разговоры о том, что C# проще MQL5 далеко не так, C# намного, намного сложней MQL5, но конечно при этом и гораздо мощней.
То, что Вам нужно - слабый аргумент. Возможно Вы ошибаетесь думая что вам нужна агрегация, тогда как на самом деле Вам нужно классическое наследование. Мало данных что бы понять, что Вам нужно на самом деле, но то, что Вам нужно включение по приведенной Вами задачи неоднозначно.
Блин, да шош такое! Я же объяснил что мне нужно! Вполне подробно. Откуда такая уверенность что мне нужно не то что мне нужно?! Ну ладно, Вам наверно лучше знать... Странно только, что мало данных...
Я знаю что такое наследование. Вроде есть и такие способы решить такую задачу. Т.е. объявить вложенный класс наследником основного. Не знаю, у меня не получилось. Мне достаточно ссылки на него.
Хорошо объясню подробнее.
Конкретно для С-4. Примерно такая конструкция:
pronych:
Т.е. объявить вложенный класс наследником основного.
ы:) дети шарпа
че надо так и не ясно.
задачу огласи, хватит морозиться про абстрактные классы.
Блин, да шош такое! Я же объяснил что мне нужно! Вполне подробно. Откуда такая уверенность что мне нужно не то что мне нужно?! Ну ладно, Вам наверно лучше знать... Странно только, что мало данных...
Я знаю что такое наследование. Вроде есть и такие способы решить такую задачу. Т.е. объявить вложенный класс наследником основного. Не знаю, у меня не получилось. Мне достаточно ссылки на него.
Хорошо объясню подробнее.
Конкретно для С-4. Примерно такая конструкция:
Так в чем проблема? Используйте агрегацию. Или компилятор не дает писать говнокод?
По сабжу: задача CSymbol в чем заключается? Смешать в кучу коней и людей, позиции, сделки и инструмент? Так вроде у него это неплохо получилось. Но при чем здесь ООП?
задачу огласи, хватит морозиться про абстрактные классы.
Во-во, давай лучше конкретную задачу на словах. Созерцать такой говнокод я больше сегодня не выдержу.
задача в CSymbol иметь всю инфу и все методы по одному конкретному инструменту.
Спасибо. Созерцайте свой говнокод. От вас помощи не требуется.