ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
[C# & JavaScript] Вызов функций |

28.12.2009, 00:15
|
|
Banned
Регистрация: 09.12.2009
Сообщений: 7
Провел на форуме: 176856
Репутация:
35
|
|
[C# & JavaScript] Вызов функций
Это не статья, просто хочу показать пример того как можно вызывать JavaScript функции внутри приложения C#. Это достаточно таки интересная возможность!
В частности речь пойдет о вызове функции eval(). Для этого потребуется создать "обертку" для функции eval(), которая вычисляет выражение, переданное в качестве параметра.
Ниже приведен код "обертки":
Код:
package JSEval
{
class JSEval
{
public function Eval(expr : String) : String
{
return eval(expr, "unsafe");
}
}
}
Далее сохраните этот код в файл под названием «JSEval.JSEval.js».
Теперь необходимо скомпилировать её в DLL-сборку. Делается это с помощью утилиты «Visual Studio 2008 Command Prompt». Открыв эту утилиту, выполните следующую команду jsc /t:library JSEval.JSEval.js, после этого в папке с JavaScript-файлом должна появиться наша сборка «JSEval.JSEval.dll».
Далее создаем, к примеру, консольный проект и подключаем сборку(JSEval.JSEval.dll). Так-же понадобиться подключить сборку «Microsoft.JScript». Вот и все, теперь можно использовать класс JSEval в проекте.
Пример представлен ниже:
Код:
class Program
{
static void Main(string[] args)
{
JSEval.JSEval eval = new JSEval.JSEval();
string expression, result;
Console.Write("Выражение: ");
expression = Console.ReadLine();
try
{
result = eval.Eval(expression).ToString();
}
catch
{
result = "!!!";
}
Console.WriteLine("Result: {0}", result);
Console.ReadLine();
}
}
Ну и вот собственно работа приложения:
Для тех кто не знает как добавлять сборки:
Проект -> Добавить ссылку -> вкладка ".NET" -> Microsoft.JScript
Проект -> Добавить ссылку -> вкладка "Обзор" -> находите JSEval.JSEval.dll
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|