/// <summary> /// Creates a module. /// <c>dictionary</c> can be <c>null</c> /// </summary> /// <returns></returns> public IScriptModule CreateModule(string name, ScriptModuleKind kind, IAttributesCollection dictionary, params ICompiledCode[] compiledCodes) { Contract.RequiresNotNullItems(compiledCodes, "compiledCodes"); ScriptCode[] script_codes = new ScriptCode[compiledCodes.Length]; for (int i = 0; i < compiledCodes.Length; i++) { script_codes[i] = ScriptCode.FromCompiledCode(compiledCodes[i] as CompiledCode); if (script_codes[i] == null) { throw new ArgumentException(Resources.RemoteCodeModuleComposition, String.Format("{0}[{1}]", "compiledCodes", i)); } } return(_manager.CreateModule(name, kind, new Scope(dictionary), script_codes)); }