/// <summary> /// Occurs when global items are needed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> static void OnGlobalItemsNeeded(object sender, VsaScriptingHostEventArgs e) { // publish the scriptable form so that the scripts may modify it e.Host.CreateGlobalItem("_scriptableForm", typeof(Evaluator), false); }
/// <summary> /// Adds this instance of the VsaScriptingHost class as a global item named "VsaScriptingHost" and raises the GlobalItemsNeeded /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void OnGlobalItemsNeeded(object sender, VsaScriptingHostEventArgs e) { try { // add the scripting host as a global item so that all scripts will have access to the VsaScriptingHost instance this.CreateGlobalItem(@"_scriptingHost", this, false); // raise the event if (this.GlobalItemsNeeded != null) this.GlobalItemsNeeded(sender, e); } catch (Exception ex) { Trace.WriteLine(ex); } }
/// <summary> /// Occurs when assembly references are needed /// </summary> /// <param name="sender"></param> /// <param name="e"></param> static void OnAssemblyReferencesNeeded(object sender, VsaScriptingHostEventArgs e) { // add the current assembly as a reference e.Host.CreateAssemblyReferences(Assembly.GetExecutingAssembly().Location); }
/// <summary> /// Adds our default assembly references and raises the AssemblyReferencesNeeded event /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void OnAssemblyReferencesNeeded(object sender, VsaScriptingHostEventArgs e) { try { /* * NOTE: By default the assemblies reference by this dll are added. * * create the default assembly references from the scripting host itself * this will cover most of the references that are commonly needed * if other assemblies are needed, responding to this event will provide the * opportunity to add them * * */ this.CreateAssemblyReferences(VsaScriptingHost.DefaultAssemblyReferences); // always reference the current scripting host assembly this.CreateAssemblyReferences(Assembly.GetExecutingAssembly().Location); // raise the event if (this.AssemblyReferencesNeeded != null) this.AssemblyReferencesNeeded(sender, e); } catch (Exception ex) { Trace.WriteLine(ex); } }