Альтернативы с открытым исходным кодом отражателю? [закрытый]

Я столкнулся с той же проблемой около года назад. После поиска всего существующего решения я его не нашел, поэтому я написал сокращенные отчеты о кристаллах, используя библиотеку генерации PDF-кода Zend Framework. Мне пришлось активно адаптировать свою библиотеку для поддержки сгруппированных объектов, повторения разделов и шаблонов. Это сработало, но это было действительно неуклюже, и если бы мне пришлось это сделать снова, я бы нашел способ сфокусировать php на хрустальные отчеты, будь то через веб-сервис, например, Gushiken, или, позвонив в приложение командной строки. CPAN имеет интерфейс Perl для CR: Win32 :: OLE :: CrystalRuntime :: Application .

Если решение PHP было выпущено в прошлом году, я сомневаюсь, что он зрелый достаточно для сравнения с CR. Не тратьте свое время на вытягивание волос - идите с тем, что работает. Время дорогое. Программное обеспечение отсутствует.

419
задан Community 23 May 2017 в 12:02
поделиться

5 ответов

2 известных мне варианта.

Это не даст вам C #.

31
ответ дан 22 November 2019 в 23:24
поделиться

Обновлено 13 декабря 2011 г.

Доступны следующие инструменты с открытым исходным кодом:

175
ответ дан 22 November 2019 в 23:24
поделиться

Инструмент "Отражение" использует отражение. - видимо это не правильно.

Вы просили две вещи - код, показывающий, что делает рефлектор, а также альтернативу рефлектору.

Вот пример, значительно упрощенный по сравнению с тем, что делает Reflector, но он показывает технику отражения: TypeView.cs

У меня нет предложений по замене Reflector с открытым исходным кодом .

1
ответ дан 22 November 2019 в 23:24
поделиться

Ну, сам Reflector - это сборка .NET, поэтому вы можете открыть Reflector.exe в Reflector, чтобы проверить, как он собран.

5
ответ дан 22 November 2019 в 23:24
поделиться

На самом деле, я почти уверен, что Reflector считается дизассемблером с некоторыми функциями декомпилятора.Дизассемблер, потому что он считывает байты из файла сборки и преобразует его в язык ассемблера (в данном случае ILasm). Функциональность декомпилятора, которую он предоставляет, анализируя IL на хорошо известные шаблоны (например, выражения и инструкции), которые затем переводятся на языки более высокого уровня, такие как C #, VB.Net и т. Д. Дополнительный api для Reflector позволяет вам написать свой собственный языковой переводчик, если вы хотите ... однако магия того, как он анализирует IL в деревьях выражений, является тщательно охраняемым секретом.

Я бы порекомендовал взглянуть на любую из трех вещей, упомянутых выше, если вы хотите понять, как работают дизассемблеры IL: Dile, CCI и Mono - все это хорошие источники для этого.

Я также настоятельно рекомендую приобрести Ecma 335 spec и книгу Сержа Лидина.

10
ответ дан 22 November 2019 в 23:24
поделиться
Другие вопросы по тегам:

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