|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
У меня такое ощущение, что я пытаюсь использовать dynamic не для того, для чего его придумали. Вобщем, есть выборка Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
Поскольку я использовал анонимный тип, то непонятно, как это представить в свойстве, которому я хочу присвоить эту коллецию. Решил сделать так Код: c# 1.
По типу коллеции не заморачивайтесь. Вопрос - можно ли так сделать с генерик-типом и хорошо ли это? Может, это настолько плохо, что лучше придумать для этого типа отдельный тип? Но мне надоело на каждый чих делать по типу, который нужен только для того, чтобы временно подержать в себе объекты, пока их представление рассуёт по контролам. Думал, что анонимные типы от этого избавляют. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 13:12 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
user7320, не используй анонимный тип, используй не анонимный ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 13:26 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
Вот и я тоже попытался сейчас передать этот анонимный через дайнэмик в представление - а он заругался, что "у типа Object нет таких полей". Похоже, анонимные удобны только для того, чтобы после извлечения их тут же использовать без всяких передач... Надо ещё раз прочитать про анонимные и дженерики. Но всё же, как вы избавляетесь от нужды постоянно писать простенькие типы для каждого пустякового извлечения по типу, как я выше написал? Или никак и каждый раз пишете простенький тип? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 13:37 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
user7320Но всё же, как вы избавляетесь от нужды постоянно писать простенькие типы для каждого пустякового извлечения по типу, как я выше написал? Или никак и каждый раз пишете простенький тип? Tuple ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 13:38 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
user7320как вы избавляетесь от нужды постоянно писать простенькие типы Кортеж - Tuple. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 13:39 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
Да, кортеж, конечно, в этом случае решает, но содержит другой недостаток - имена свойств у него неинформативные: Item1, Item2,... А у анонимных типов - информативные. Есть способ это обойти? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 13:51 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
Итого: 1) конкретные типы: плюсы : инофрмативные имена свойств; могут легко работать с обобщёнными коллекциями; минусы : нужно выписывать определения таких типов на каждый чих; 2) анонимные типы: плюсы : информативные имена свойств; не нужно выписывать определения; минусы : фиг знает, как работать с ними в обобщённых коллекциях; 3) кортежи: плюсы : не нужно выписывать определения; могут легко работать с обобщёнными коллекциями; минусы : неинформативные имена свойств; ограниченное число свойств. А мне надо минимум: могут легко работать с обобщёнными коллекциями; информативные имена свойств; не нужно выписывать определения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 14:01 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
user7320Да, кортеж, конечно, в этом случае решает, но содержит другой недостаток - имена свойств у него неинформативные: Item1, Item2,... А у анонимных типов - информативные. Есть способ это обойти? Сменить язык. В языках с паттерн-матчингом - F#, Nemerle - можно использовать туплы, при этом благодаря ПМ всё будет информативно. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 14:08 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
user7320, так анонимные типы, для места извлечения, хотя и можно их получать снаружи, но это уже из курьезов Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 14:35 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
анонимные типы используются в контексте одного метода. в твоем случае лучше не лениться и написать отдельный тип для элементов коллекции ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 15:07 |
|
Что лучше - dynamic или конкретный тип?
|
|||
---|---|---|---|
#18+
Где-то в степиuser7320, так анонимные типы, для места извлечения, хотя и можно их получать снаружи, но это уже из курьезов Код: c# 1.
Я забыл добавить, что писать что-то своё - это минус. Ну, это можно считать за "нужно выписывать определение". )) Ладно, пока я успокоился на выписывании своего простенького типа. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 15:25 |
|
|
start [/forum/topic.php?fid=20&msg=38435639&tid=1403825]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 186ms |
0 / 0 |