本文整理汇总了C#中IScriptEngine.CreateHostFunctions方法的典型用法代码示例。如果您正苦于以下问题:C# IScriptEngine.CreateHostFunctions方法的具体用法?C# IScriptEngine.CreateHostFunctions怎么用?C# IScriptEngine.CreateHostFunctions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IScriptEngine
的用法示例。
在下文中一共展示了IScriptEngine.CreateHostFunctions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RShipCore
public RShipCore(IScriptEngine engine, IModulePathResolver pathResolver, IModuleLoaderFactory loaderFactory)
{
this.engine = engine;
Evaluator = engine;
engine.DefaultAccess = ScriptAccess.None;
this.pathResolver = pathResolver;
NativeModules = new Dictionary<string, Module>();
Compilers = new Dictionary<string, IModuleCompiler>();
loader = loaderFactory.Create(Evaluator, NativeModules, Compilers, pathResolver);
Console = new VirtualConsole.Console(null, Evaluator);
StdOut = new StdOut.StdOut();
CommandPipe = new CommandPipe(this);
Compilers[".ship"] = Compilers[".js"] = new ScriptCompiler();
Compilers[".json"] = new JsonCompiler();
Compilers[".dll"] = new DllCompiler();
coreModule = new NativeModule("core", loader, this);
NativeModules["core"] = coreModule;
NativeModules["console"] = new NativeModule("console", loader, Console);
NativeModules["stdout"] = new NativeModule("stdout", loader, StdOut);
NativeModules["host"] = new NativeModule("host", loader, engine.CreateHostFunctions());
NativeModules["xhost"] = new NativeModule("xhost", loader, engine.CreateExtendedHostFunctions());
foreach (var script in ScriptModules.Scripts.Keys)
{
NativeModules.Add(script, new ScriptModule(script, loader));
}
engine.Script.EngineInternal.isVoid = new Func<object, bool>(obj => obj is VoidResult);
ExecuteWrapped(@"
Object.defineProperty(this, 'global', { value: this, enumerable: true });
var engineInternal = this.EngineInternal;
delete this.EngineInternal;
Object.defineProperty(this, 'EngineInternal', { value: engineInternal });
");
Sleeping = true;
}