|
Как реализовать полиморфизм (интерфейс), если методы имеют разное кол-во параметров ?
|
|||
---|---|---|---|
#18+
АаархиПривет. Вопрос такой. Есть иерархия классов. Используем язык C#. Но проблема в том, что основной метод, вокруг которого фактически и крутится класс, в разных классах имеет разное количество параметров. Дело вот в чем. Есть класс. Он в себе хранит некие данные. И динамически-периодически, у него нужно дергать метод (который вот и нужно придумать как описать), куда передавать самые последние данные. Проблема усложняется тем, что в иерархии разные наследниики имеют разное кол-во параметров в этой самой функции. PS. Иерархия все же нужна. Т.к. по сути, все классы там делают одну работу. Просто часть функций виртуальные, и каждый класс через них и делает свою уникальную обработку. Мне нужно сделать некий интерфейс, описывающий работу этой иерархии. Как быть ? Лично я бы сделал бы ТУПО! 1) Есть один метод, который дергается без параметров. 2) Перед тем как дергать метод нужные параметры заполнил бы ч/з свойства. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 08:08 |
|
Как реализовать полиморфизм (интерфейс), если методы имеют разное кол-во параметров ?
|
|||
---|---|---|---|
#18+
АаархиТ.е. сделать в методе всего лишь один входной параметр, принимающий на вход абстрактный класс- и для каждого класса в иерархии, создать класс наследник этого "eventargs" хранящего специфичные данные. Но что-то не очень мне нравится эта идея.Правильнее всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 10:50 |
|
Как реализовать полиморфизм (интерфейс), если методы имеют разное кол-во параметров ?
|
|||
---|---|---|---|
#18+
mad_nazgulЛично я бы сделал бы ТУПО! 1) Есть один метод, который дергается без параметров. 2) Перед тем как дергать метод нужные параметры заполнил бы ч/з свойства. Те где-то так? (сейчас меня будут бить) Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2013, 11:10 |
|
Как реализовать полиморфизм (интерфейс), если методы имеют разное кол-во параметров ?
|
|||
---|---|---|---|
#18+
Inkelyadmad_nazgulЛично я бы сделал бы ТУПО! 1) Есть один метод, который дергается без параметров. 2) Перед тем как дергать метод нужные параметры заполнил бы ч/з свойства. Те где-то так? (сейчас меня будут бить) Код: plaintext 1. 2. 3. 4. 5.
Нет, еще тупее! Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Ну или Код: c# 1. 2. 3. 4.
<:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.05.2013, 08:46 |
|
Как реализовать полиморфизм (интерфейс), если методы имеют разное кол-во параметров ?
|
|||
---|---|---|---|
#18+
Если говорить конкретно про c#, то для работы с динамическим числом параметров в методе используется ключевое слово params , пример: Код: c# 1.
Вызываться этот метод может так: Код: c# 1.
или так: Код: c# 1.
и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2013, 15:53 |
|
Как реализовать полиморфизм (интерфейс), если методы имеют разное кол-во параметров ?
|
|||
---|---|---|---|
#18+
Ааархи, В качестве параметра передать собственный класс, поля которого уже будут разбираться в конкретном наследнике. И ответ тоже собственным классом, что нить вроде: -sensorRequest -sensorResponse ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2013, 13:01 |
|
|
start [/forum/topic.php?fid=33&msg=38265521&tid=1547694]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 119ms |
0 / 0 |