Насколько я вижу, на мой вопрос не был дан ответ раньше. Я использую Unity для создания приложения для Windows Phone 8, и я хочу получить вход пользователя и выполнить его как код. Теперь, как правило, с JavaScript можно просто использовать eval («здесь код»), но Unity не нравится, и говорит, что eval() не разрешено с моей целью (WP8).Eval() замена в UnityScript или C# с Unity
Так что мой вопрос: как я могу выполнить строку как код в EITHER C# или UnityScript без использования eval() и не полагаться на окно или прикреплять скрипт к документу - в основном, так что он работает с Unity.
Например, если бы я мог использовать eval, я бы сделал: eval ("createCuboid (0, 1, 2)");
Спасибо за помощь.
Редактировать: Так что я делаю приложение, которое позволяет пользователю вводить одну строку кода в GUI.TextField. Когда пользователь нажмет кнопку, он получит код и запустит его. В моем примере createCuboid (0, 1, 2) у меня есть моя собственная функция, которая создает кубоид по спецификации пользователя (как видно из параметров).
Причина, по которой я хочу, это потому, что я хочу, чтобы пользователь мог свободно манипулировать 3D-средой без необходимости делать что-то более сжатое - например, нужно нажимать на нее кнопку createCuboid, а затем вводить параметры в нескольких полях. У меня есть несколько функций, которые пользователь может вызвать для управления средой.
Помогло ли это?
Не могли бы вы более подробно рассказать о проблеме, которую вы пытаетесь решить? Потому что вам не нужно это делать, и звучит так, будто вы что-то делаете совершенно не так. –
Насколько я знаю, C# не предлагает ничего подобного. Вы можете написать собственный интерпретатор, который анализирует параметр и использует рефлексию, чтобы настроить все, но это будет большой работой (и потенциально очень опасной). –
Что-нибудь для JavaScript? Я пришел к выводу, что делать это на C# невозможно. – user1785715