|
Наследование, struct
|
|||
---|---|---|---|
#18+
Все эти type constraints и прочие наследования, абстрактнось и виртуальность влияют только на методы экземпляра, но не на методы типа. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 14:45 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Похоже, что только либо через рефлексию, либо так . ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 14:56 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Можно сделать интерфейс пустым чтобы он выполнял роль маркера и оформить код примерно так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Код: c# 1. 2. 3. 4.
user7320Вообще, непонятно, как в параметре метода указать, что тип этого параметра должен поддерживать такие-то СТАТИЧЕСКИЕ методы. Никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 15:03 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
bazileМожно сделать интерфейс пустым чтобы он выполнял роль маркера и оформить код примерно так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Код: c# 1. 2. 3. 4.
Нет, что-то не то у вас. У меня УЖЕ ЕСТЬ методы сериализации и десериализации для всех моих структур. И эти методы выполняются по-разному для каждой такой структуры. Они только имеют одинаковую сигнатуру. Теперь мне надо сделать одинаковые дествия, включая вызов метода Serialize, например, в другом методе другого класса. Т. е. примерно так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
И я хочу, чтобы весь одинаковый (кроме вызовов Serialize) код был не разбросан по куче перегрузок метода SendData, а как-то обобщён в одном методе. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 15:10 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Поправка, везде StructN.Serialize(); заменить на StructN.Serialize(obj); ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 15:11 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Вот так Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 15:12 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Кажется, я туплю ))) Вот же! private byte[] SendData(byte[] structAsBytes) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 15:13 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Но штука в том, что хотелось бы именно ограничить, чтобы на вход SendData приходили данные только от определённого списка структур. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2014, 15:15 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Код: c# 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2014, 12:32 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
ЕвгенийВ Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Код: c# 1. 2. 3. 4. 5. 6.
Ну, что через рефлексию можно - это-то понятно. Хотелось бы без неё, средствами чисто языка, без "хаков". Всё равно спасибо за конкретный пример. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2014, 13:09 |
|
Наследование, struct
|
|||
---|---|---|---|
#18+
user7320, вот еще конкретный пример: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2014, 19:10 |
|
|
start [/forum/topic.php?fid=20&msg=38770521&tid=1402385]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 338ms |
total: | 483ms |
0 / 0 |