Size: a a a

2021 January 18

IC

Ilya Chernoudov in pro.net
So
вопрос, когда мы пишем строку вот так $"{var}"+$"{var2}" оно разворачивается в string concat + format, а почему оно в компайлтаймне не может сразу в $"{var}{var2}" сделать, что бы избавиться от конката и оставить только формат
Потому что тогда произойдет изменение индексов внутри формата
источник

IC

Ilya Chernoudov in pro.net
И получается что преобразование не очень тривиальное
источник

AT

Alexey Tkachenko in pro.net
Ilya Chernoudov
Потому что тогда произойдет изменение индексов внутри формата
более того, это может привести к изменению используемой перегрузки формата с непредсказуемыми результатами для производительности
источник

Dv

Dr. Friedrich von Ne... in pro.net
Ilya Chernoudov
Потому что тогда произойдет изменение индексов внутри формата
Можно было бы в Рослине отпрепроцессить, тогда всё предсказуемо.
источник

А

Антон in pro.net
Dr. Friedrich von Never
Можно было бы в Рослине отпрепроцессить, тогда всё предсказуемо.
В 5 же можем
источник

А

Антон in pro.net
Наконец-то услышали мои молитвы и теперь можно постпроцессить
источник

Dv

Dr. Friedrich von Ne... in pro.net
Антон
В 5 же можем
Что?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Антон
Наконец-то услышали мои молитвы и теперь можно постпроцессить
Поинт был в том, что тут намного удобнее препроцессить, чем постпроцессить.
источник

Dv

Dr. Friedrich von Ne... in pro.net
На данный момент я не вижу, что ты, как пользователь компилятора, можешь с этой проблемой сделать.
источник

А

Антон in pro.net
Dr. Friedrich von Never
Поинт был в том, что тут намного удобнее препроцессить, чем постпроцессить.
https://devblogs.microsoft.com/dotnet/introducing-c-source-generators/

А какая разница пост или пре если в скомпилированном виде будет как хочешь?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Как генераторы решают проблему?
источник

А

Антон in pro.net
Dr. Friedrich von Never
Как генераторы решают проблему?
После того как Рослин сам прошёлся, проходишь и делаешь чо хочешь, не поможет разве?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Антон
После того как Рослин сам прошёлся, проходишь и делаешь чо хочешь, не поможет разве?
Что?
источник

Dv

Dr. Friedrich von Ne... in pro.net
После того как Рослин сам «прошёлся», «проходишь»? Что?
источник

AT

Alexey Tkachenko in pro.net
смотря что хотеть
источник

Dv

Dr. Friedrich von Ne... in pro.net
Вот у юзера есть файл с кодом, там написано string x = $"{foo}" + $"{foo}"
источник

Dv

Dr. Friedrich von Ne... in pro.net
Мы хотим чтобы оно скомпилилось по-другому, сразу как $"{foo}{foo}"
источник

Dv

Dr. Friedrich von Ne... in pro.net
Я не вижу, как генераторы помогают решить эту задачу.
источник

А

Антон in pro.net
Разве в генераторе ты не получаешь доступ к текущему объекту компиляции в котором все сорс файлы и ты можешь их переписывать?
источник

Dv

Dr. Friedrich von Ne... in pro.net
Антон
Разве в генераторе ты не получаешь доступ к текущему объекту компиляции в котором все сорс файлы и ты можешь их переписывать?
Насколько мне известно — нет, не получаешь.
источник