Обновить
4

Разработчик

Отправить сообщение

А смысл тогда Core поддерживать, если WPF все еще не кроссплатформенный.

Я бы тоже хотел увидеть пример ситуации, когда это реально нужно.

Используя другой небольшой хак можно сделать, что окно, во-первых, было поверх остальных окон, а во вторых, было не в фокусе и клики проходили бы сквозь него.

Мне чет не нравится как это выглядит (я сторонник "лишних" строк).

Очевидно, что разбивание было показано исключительно в познавательных целях. Разве что в будущем эти сервисы будут весьма толстыми, и на каждом будет сидеть своя команда, но это дискутируемо.

Но где написано, что это противоречит? :)

норм, vk api опрашивать — самое оно, его как мейл купил, так там через день 500 стало падать

Тьфу.

Не плюйтесь на базовую обертку работы с БД.


Примитивных типов не так много, всегда можно сделать свой generic extension, который будет работать именно так, как вам надо.

Да и пример reader.GetString(0) не совсем корректен, ведь что если у нас там INT NULLABLE? Есть метод GetFieldValue<T>(и даже async-вариант), но я не проверял, умеет ли он в Nullable<T>.


К тому же, reader.GetString возвращает string, а DBNull.Value — чтож, DbNull, так что даже этот вариант не сработает — эти типы нельзя между собой сравнивать.

ни один новичок не знает, как работает дотнет под капотом (когда узнает — становится мидлом :) ), с их стороны это вполне разумно и логично.

Стоит отметить, что всё сильно меняется, если нужно использовать IO и асинхронность. Вот уже вторая часть статьи, а ни одного asyncа я не увидел.

ну а шош поделать то

и при этом равно 0 описания того, зачем это всё нужно. вроде как статья для непрошаренных, но как я был непрошаренным, так и остался, только на красивые слова посмотрел.

Отлично написано, очень много полезной информации, спасибо автор!

я конечно не претендую на звание про, но они ищут кодеров которые пишут нечитаемый говнокод или же все таки простую, понятную и сложную архитектуру?)

я просто использую JSON.ToObject<T>(data), версия 2.2.4, пакет вроде тот же.

странно, у меня fastJSON работает где то в 20 раз быстрее Newtonsoft (на десериализацию). но спасибо за тесты.

А теперь сравните с fastJSON, пожалуйста.

В этом коде класс C не должен откомпилироваться, потому что у него нет конструктора с параметрами int x, int y, а вот класс B откомпилируется без ошибок.

В C# класс С тоже не откомпилируется, он тоже обязан вызвать базовый конструктор через : base(..).


Возможен ещё один вариант: если в наследнике не перекрыт виртуальный конструктор предка, компилятор автоматически перекрывает его

Я не вижу ни одного плюса такой непонятной реализации.


А вот если у нас будут метаклассы, то код с неправильными параметрами просто не откомпилируется.

Все, что от C# требуется, это добавить Method<T>() where T : class. new (int, string), но мелкомягкие уже что-то вроде "сложно и не нужно" писали на этот счет.


Ну и стоит заметить что рефлексия это лишь инструмент для обучения, если нужно именно быстро и динамически создавать строго-типизированные классы, можно воспользоваться скомпилированными ExpressionTrees или даже прямой IL генерацией.

Информация

В рейтинге
6 761-й
Зарегистрирован
Активность