вот есть скрипт который делает что-то нужное, но что конкретно он делает - неизвестно. Помогите адаптировать его для абсолютно другой платформы, для которой он изначально не предназначался.
romaro, моё мнение, что приложение должно по возможности работать со строго типизированными объектами, которые имеют какое-то отношение к предметной области.
Использовать повсюду DataSet выглядит как говнокод, который будет очень тяжело тестировать.
В каком-то же месте у тебя происходит переход между реляционной и объектной моделью? Почему бы не придвинуть этот переход максимально близко к тому месту, откуда приходят данные?
Если тебе не нравится идея с объектами, а то что ты навыдумывал тебе кажется очень удобным, да ещё и бенчмарки показывают, что так быстрее, то в чём смысл задавать вопрос? Ты же уже нашёл идеальное решение получается
Uno, можно просто опытным путём пополнять его. Давать заведомо безопасную сборку и смотреть к чему он обращается.
Не обязательно делать полный список, чтобы любой безопасный код проходил.
Достаточно чтобы проходило какое-то его подмножество, которое активно используется.
Руслан, 4-Надуманная проблема.
Ни у кого в принципе с этим проблем нет.
То что пользователи не будут устанавливать моды - проблема самих пользователей.
В принципе можно вообще радикально поступить, как разработчики Minecraft Bedrock и вообще не давать возможность использовать язык общего назначения для модов, и пусть все становятся json-программистами
Руслан, посмотри на mono Cecil - с ним можно анализировать сборку без её загрузки.
Записываешь у себя где-нибудь белый список полных имён методов, которые можно вызывать. Затем идёшь по каждой инструкции в сборке и проверяешь, что такой call разрешён.
Соответственно если там вызов нативного кода например, то не загружаешь её.
Vindicar, да да. В соседней ветке как раз упомянул, что для надёжности лучше белый список делать, а не чёрный.
Но я с таким не сталкивался, когда писал скрипты для SE
Не машинный же перевод делать