|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
Доброго времени! почитываю шестую версию C#. дошёл до динамического связывания. правильно ли я понял, что с помощью dynamic можно возвращать анонимный тип из сторонней функции (т.е. где этот тип не объявлен) и обращаться к его членам? код ниже работает, но насколько он будет корректен? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 16:07 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
WitCДоброго времени! почитываю шестую версию C#. дошёл до динамического связывания. правильно ли я понял, что с помощью dynamic можно возвращать анонимный тип из сторонней функции (т.е. где этот тип не объявлен) и обращаться к его членам? код ниже работает, но насколько он будет корректен? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Это все актуально и для C# 5. Но очевидно не стоит использовать динамические типы для транспорта параметров. и не стоит использовать dynamic если на это нет везких оснований (например взаиможесйствие с COM, run-time генерируемые типы). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 16:53 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
Т-МироновЭто все актуально и для C# 5. Это и на FW 4.0 будет прекрасно работать. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 18:29 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
WitC, а чё анонимные? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 18:46 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
Relic Hunter, вопрос был про анонимные типы, через динамическое связывание. можно обозвать динамическое связывание и анонимные типы. суть в следующем, к членам возвращённого анонимного типа из другого метода, можно обратиться. возможно это всё и тянется ещё с ФВ 4.0, но я как-то обратил внимание на это только сейчас. вот и заинтересовал вопрос. технически это работает. как сточки зрения эстетики, читабельности etc. вижу, что сообщество не очень приветствует. меня тоже как-то стремает... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 22:17 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
WitCправильно ли я понял, что с помощью dynamic можно возвращать ..можно возвращать что угодно. На то он и dynamic. Но. 1) просядет производительность, довольно ощутимо 2) давай досвидания Intellisens, проверка типов и прочие плюшки 3) возможность отхватить runtime exception на пустом месте ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 22:27 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
WitCвижу, что сообщество не очень приветствует. меня тоже как-то стремает... дело не в том, что приветствует или нет, это заведомо неправильный подход. если у тебя функция возвращает хоть и анонимный, но весьма конкретный тип с конкретным набором полей, что мешает определить класс, при чём никто не заставляет этот класс определять глобально, определи подкласс. если у тебя функция возвращает в разных обстоятельствах разные анонимные типы, то это ошибка разработки, просто тупо неправильный поход в реализации просто по своей сути, dynamic тут не при чём. ну и dynamic вообще для других целей был придуман. и следует избегать применения, если не будет ощутимого профита по всем фронтам. например, работа с COM-объектами, или скриптование. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 22:32 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
hVostt1) просядет производительность, довольно ощутимо 2) давай досвидания Intellisens, проверка типов и прочие плюшки 3) возможность отхватить runtime exception на пустом месте реально, лучше объявить конкретный класс. +1 вопрос закрыт. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.12.2016, 23:47 |
|
Анонимные типы C# v.6
|
|||
---|---|---|---|
#18+
WitC, можно юзать колбек функцию. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 11:07 |
|
|
start [/forum/topic.php?fid=20&fpage=50&tid=1400155]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 145ms |
0 / 0 |