public object Clone() { ScriptProperty scriptProperty = new ScriptProperty(); scriptProperty.FilePath = this.m_szFilePath; scriptProperty.ScriptLang = this.m_scriptLang; scriptProperty.ScriptName = this.m_szScriptName; scriptProperty.ScriptText = this.m_szScriptText; scriptProperty.ScriptData = this.m_byteScriptData; return(scriptProperty); }
/// <summary> /// 编译指定脚本源码,返回编译结果 /// </summary> /// <param name="scriptProperty">脚本配置信息</param> /// <returns>ScriptAgent的编译结果对象(永不为null)</returns> public CompileResults CompileScript(ScriptProperty scriptProperty) { if (scriptProperty == null) { return(new CompileResults()); } GlobalMethods.IO.CreateDirectory(this.CachePath); string szOutputFile = string.Format("{0}\\Calc.{1}.dll" , this.CachePath, Math.Abs(scriptProperty.ScriptText.GetHashCode()).ToString()); CompileResults results = this.CompileScript(scriptProperty.ScriptText, scriptProperty.ScriptLang, szOutputFile); scriptProperty.ScriptData = AssemblyHelper.Instance.GetAssemblyData(szOutputFile); GlobalMethods.IO.DeleteFile(szOutputFile); return(results); }