Source Generator улучшить сторонний код
От: Разраб  
Дата: 15.11.23 07:24
Оценка:
Есть dll. В ней
partial class Foo<T> : Boo

SG не работают со сторонними сборками?
Хотел добавить событие, т.к. в классе internal Action.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: Source Generator улучшить сторонний код
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 15.11.23 08:09
Оценка: 9 (1)
Здравствуйте, Разраб, Вы писали:

Р>Есть dll. В ней

Р>
Р>partial class Foo<T> : Boo
Р>

Это что-то новое для меня. Я искренне полагал, что partial — это исключительно языковая конструкция, и на уровне сборки никаких упоминаний не остается.
Речь точно о сборке, а не исходном коде?

Р>SG не работают со сторонними сборками?

В каком смысле не работает? Анализировать сторонние сборки вроде можно (в модели приходит всё) и при генерации на них опираться.
А вот менять, конечно же нет, SG работает исключительно на уровне текущей сборки и уж точно менять существующую не может.

Р>Хотел добавить событие, т.к. в классе internal Action.

Какими-то "законным" способом — только в коде самой сборки (в этом и суть internal — доступность исключительно в рамках сборки).
Остальное, только "хаки".
Re[2]: Source Generator улучшить сторонний код
От: Разраб  
Дата: 15.11.23 08:43
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

МР>Это что-то новое для меня. Я искренне полагал, что partial — это исключительно языковая конструкция, и на уровне сборки никаких упоминаний не остается.

МР>Речь точно о сборке, а не исходном коде?

Точно. Но в студии (ставил с нугета), по f12 открывается как исходник и там partial. видимо, студия шибко умная. в ILSpay нет такого.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: Source Generator улучшить сторонний код
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 15.11.23 09:44
Оценка: +1
Здравствуйте, Разраб, Вы писали:

Р>Точно. Но в студии (ставил с нугета), по f12 открывается как исходник и там partial. видимо, студия шибко умная. в ILSpay нет такого.

Не уверен, как именно поступает студия (и может там от настроек зависит...), но, например, тот же JB dotPeek (ну и ReSharper и Rider, наверняка) умеет брать для анализа PDB и исходники

Подозреваю, что тут случилось нечто похожее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.