170 похожих чатов

Для библиотек, реализующих сурс генераторы есть ли смысл указывать net5.0

в TargetFramework? Ведь по сути без net5 они и не будут работать

11 ответов

6 просмотров

С чего бы? Сам проект с генератором может быть хоть .NET Standard.

Как я удачно зашёл) Roslyn Source Generators никогда не зависили ни от .NET 5, ни от С# 9, а только от версии компилятора, который их поддерживает. В этом можно убедиться и по официальным примерам. Чтобы быть уверенным, что генератор отработает на всех окружениях можно - либо добавить в транзитивную зависимость Microsoft.Net.Compilers.Toolset 3.8.0+, что точно подойдет не всем, особенно публичным библиотекам. - либо воспользоваться Uno.SourceGeneration, опыт использования которого я описывал тут.

Нет. Вот пример проекта реализующий сурс ген на .net standart. Работает https://github.com/Skyuzii/HarabaSourceGenerators

Musa Musaev
Нет. Вот пример проекта реализующий сурс ген на .n...

Когда тут мелькало - ничем не зацепила. А вот статья на хабре всё прояснила, оказалось, что тут вполне приятный кейс для Source Generators. Отличный сахар получается.

Vadim Sedov
Когда тут мелькало - ничем не зацепила. А вот стат...

Ммм, чувак изобрел по сути property injection от которого все специально отказались

Mr. N
не

Ну как не, атрибуты, внедрение. Ну не в свойства, а в поля. Разницы ноль суть та же

Александр
Ну как не, атрибуты, внедрение. Ну не в свойства, ...

Видимо вы плохо в этом разобрались) Это простой синтаксический сахар. Конструктор никуда не девается, он есть. Просто за вас это делается автоматически) Как только вы воспользовались атрибутом Inject, для него создаётся конструктор. Вы можете это заметить, попробовав инициализировать класс var cl = new Class(тут будет требовать параметры, которые вы пометили атрибутом)

Александр
Ммм, чувак изобрел по сути property injection от к...

вот и я так сперва подумал, а тут другое. Никаких недостатков property injection там нет, просто избавление от написания части кода руками при constructor injection в пользу кодогенерации

Александр
Ммм, чувак изобрел по сути property injection от к...

Отказались из-за того, что там заполнение свойств необязательное. А в его варианте всё ещё обязательное, просто избавляемся от бойлерплейта. Так что всё неплохо, на самом деле.

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
32
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Карта сайта