|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Как добавить процессоры в Dictionary: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 15:55 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Чтобы потом вызвать нужный вот таким способом: Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 16:57 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, RegisterCardProcessor ChangeIncludedProcessor ExcludeCardProcessor GetCardProcessor GetStateCardProcessor GetRightholderCardsProcessor GetNSIsProcessor должны реализовывать интерфейс IProcessor<ActionData, Object>, а они его не реализовывают, судя по RegisterCardProcessor, который реализовывает совсем другой интерфейс IProcessor<RegisterCardActionData, ResponseData> ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 17:06 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, сделай отдельный интерфейс без шаблонов с единственным методом Process и зови его у объектов из словаря ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 17:09 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2016, 17:13 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
hVostt, И как же вы реализуете такой класс? Код: c# 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 08:27 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, Реализовать надо IProcessor, а не Processor<T, TOut>. Я жы пример привёл. Для чего спрашивается? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 10:53 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
hVostt, Я имел в виду, как будет описан класс реализующий этот интерфейс? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 12:12 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, Из твоего же примера: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Еще можно вызвать из IProcessor.Process собственную реализацию this.Process с приведением типов. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 13:08 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
hVostt Код: c# 1. 2. 3. 4.
В этом методе что-то не то, потому что переменная data отсутствует, а переменная requestData не имеет свойства CardData или я не понял чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 13:42 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, я не проверял соответствие имён переменных, но да requestData это твоя data. А чтобы добраться до CardData, приводи data к нужному тебе типу, ну или общий тип должен иметь это свойство. Тут я уже не знаю твоей логики. всё что я тебе привёл это решает проблему с Dictionaty, ведь именно об этом ты просил? не получится на 2 стула сесть, либо только шаблоны и без словаря, либо +общий не шаблонный метод и словарь. выбирай. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 14:00 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
hVostt, Вообще получится, если сделать так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
И нужен всего 1 интерфейс, которой Generic ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2016, 16:02 |
|
Dictionary. Добавление
|
|||
---|---|---|---|
#18+
Pavluha, можно и так, но ты уходишь в динамику, теряешь в производительности, теряешь возможность статической проверки на этапе компиляции, повышаются шансы получения внезапных рантайм ошибок и конкретно снижается читаемость, ибо глядя на определение словаря непонятно что там должно быть в Object, в общем не ясно чего ради это всё затевалось. но дело твоё. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2016, 04:46 |
|
|
start [/forum/topic.php?fid=20&fpage=53&tid=1400275]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 192ms |
0 / 0 |