|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
Antonariy А в реальной жизни и расширения и дженерики как правило все же рассчитаны на работу с ограниченным семейством типов. Это семейство типов определяется тем, что называтеся "контракт". Набор условий, которым удовлетворяют все участники этого семейства. Пустой контракт никаких условий не задаёт, поэтому смысла в нем ноль. Это как на кабаке повесить правило фейс-контроля: "к нам пускаем только тех, у кого как минимум 0 денег в кармане". А про интеллисенс так это вообще бугагос. Архитектим приложение под текстовый редактор, в котором его набираем. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 08:25 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
hVostt Antonariy hVostt, По уму в данном случае нужно было использовать DataTable? Не обязательно DataTable, я ж всей задачи не знаю и подробностей. Но да, во многих случаях подойдёт DataTable для динамических моделей данных. И проблема лишь в сраном антивирусе, которому не нравятся конкретные слова и буквы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 09:52 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
fkthat Antonariy А в реальной жизни и расширения и дженерики как правило все же рассчитаны на работу с ограниченным семейством типов. Это семейство типов определяется тем, что называтеся "контракт". Набор условий, которым удовлетворяют все участники этого семейства. Пустой контракт никаких условий не задаёт, поэтому смысла в нем ноль. Это как на кабаке повесить правило фейс-контроля: "к нам пускаем только тех, у кого как минимум 0 денег в кармане". А про интеллисенс так это вообще бугагос. Архитектим приложение под текстовый редактор, в котором его набираем. авторПустой контракт никаких условий не задаёт, поэтому смысла в нем ноль.Пустой контракт задает первоначальное условие - принадлежность к этому контракту. Наследуя который, создаются более специализированные контракты, имеющие более специализированные условия. С формальной логикой знаком? Знаешь, что такое закон исключенного третьего? Так вот пустой контракт это и есть реализация этого закона в программировании. Фундаментальная абстракция, разделяющая сущности на те, что ей являются и те, что ей не являются. Впрочем, кому я это объясняю? Пользователю блокнота и консоли. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 10:02 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
Antonariy используют специализированные инструменты, которые на порядок повышают их производительность и защищают от множества ошибок. По тебе оно заметно. Антивирус работать не дает. Antonariy Пользователю блокнота и консоли. Чаще всего в консоли и компилирую. И тесты прогоняю. Причем очень часто под линуксом. Потому что мне вообще пох, как оно собирается и тестируется в личной студии - меня волнует только, как оно соберется и протестируется на билд-сервере в CI. А ты, наверное, без кнопки Ф5 и жить не можешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 10:28 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
fkthat Antonariy используют специализированные инструменты, которые на порядок повышают их производительность и защищают от множества ошибок. По тебе оно заметно. Антивирус работать не дает. авторА ты, наверное, без кнопки Ф5 и жить не можешь?АТО! И еще без кучи других клавиатурных сокращений. Что никак не связано с наличием билд-сервера, который тоже исправно делает свою работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:14 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
Antonariy Но по сути, какая разница между DataRow и экземпляром модели? В первом набор полей, характеризующимся названием и типом, во втором набор свойств, характеризующихся названием и типом. В чем отличие? Лишь в наборе слов и букв, которыми осуществляется манипуляция полем/свойством. Даже не структурой алгоритма, а более мелкими деталями. При этом DataRow проигрывает в способности кастоваться к какому-нибудь типу, за которым может следить компилятор. Да, кажется ты не понимаешь. DataRow может хранить любой кортеж, DataTable позволяет обратиться к модели данных, которую можно сконструировать в рантайме без рефлексии. И без рефлексии её прочитать. Если у тебя все модели статические 100% и не предполагается расширение извне, т.е. ты работаешь с ORM, то ты можешь работать с классами. Но в ином случае, тебе нужно будет предоставить свой провайдер мета-модели, вместо работы с рефлексии напрямую. У тебя нет ни абстрактного провайдера, ни динамической структуру для передачи данных (DataTable). Отсюда боль и страдания. Antonariy И проблема лишь в сраном антивирусе, которому не нравятся конкретные слова и буквы. Ну антивирус это не единственная проблема. Всё решение -- проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:16 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
Antonariy попкорн у меня есть, жги. Ну, пока что ты тут со своими проблемами (которые сам себе создал) о помощи просишь, а не я. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:20 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
hVostt Ну антивирус это не единственная проблема. Всё решение -- проблема. "Разруха проблема в головах". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:22 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
Antonariy И еще без кучи других клавиатурных сокращений. У меня VsVim установлен екстеншеном, т.ч. шорткатов, наверное, поболее. Осталось только померить у кого шорткат длинее. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:47 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
hVostt Да, кажется ты не понимаешь. DataRow может хранить любой кортеж, DataTable позволяет обратиться к модели данных, которую можно сконструировать в рантайме без рефлексии. И без рефлексии её прочитать. авторУ тебя нет ни абстрактного провайдера, ни динамической структуру для передачи данных (DataTable). Отсюда боль и страдания.Вот я и пытаюсь его запилить перебирая варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:49 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
fkthat Antonariy попкорн у меня есть, жги. Ну, пока что ты тут со своими проблемами (которые сам себе создал) о помощи просишь, а не я. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 11:56 |
|
Сконструировать через Emit класс, реализущий заданный интерфейс
|
|||
---|---|---|---|
#18+
Antonariy hVostt Да, кажется ты не понимаешь. DataRow может хранить любой кортеж, DataTable позволяет обратиться к модели данных, которую можно сконструировать в рантайме без рефлексии. И без рефлексии её прочитать. Плохого ничего нет. Но и хорошего. Рефлексию используют не от хорошей архитектуры. Antonariy авторУ тебя нет ни абстрактного провайдера, ни динамической структуру для передачи данных (DataTable). Отсюда боль и страдания. Нет соответствующей абстракции. Находишься в ситуации, когда тебе забыли выдать ложку, и ты вынужден её вытачивать из подручных инструментов сам :) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2019, 13:25 |
|
|
start [/forum/topic.php?fid=20&gotonew=1&tid=1398687]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
4ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 190ms |
0 / 0 |