SenseNet.ContentRepository.JscriptEvaluator.CreateJsEvaluatorAndType C# (CSharp) Méthode

CreateJsEvaluatorAndType() private static méthode

private static CreateJsEvaluatorAndType ( ) : void
Résultat void
		private static void CreateJsEvaluatorAndType()
		{
			string codeBase = Path.GetDirectoryName(typeof(JscriptEvaluator).Assembly.CodeBase).Remove(0, 6);

			var jsCodeProvider = new Microsoft.JScript.JScriptCodeProvider();
			var compilerParam = new CompilerParameters();
			compilerParam.ReferencedAssemblies.Add("System.dll");
			compilerParam.ReferencedAssemblies.Add("System.Data.dll");
			compilerParam.ReferencedAssemblies.Add("System.Xml.dll");
			compilerParam.ReferencedAssemblies.Add("System.Web.dll");
			
			compilerParam.CompilerOptions = "/t:library";
			compilerParam.GenerateInMemory = true;

			string JScriptSource = @"import System;
            import System.Web;
            
            package Evaluator
            {
                class JsEvaluator
                {
					public function WhatIsTheAnswerToLifeTheUniverseAndEverything()
					{
						return 42;
					}
                    public function Eval(expr : String) : String
                    {
                        var result = eval(expr, ""unsafe"");
						if (typeof(result) != ""date"")
							return result;

						var d = new Date(result);
						return d.getYear() + ""-"" + (d.getMonth()+1) + ""-"" + d.getDate() + "" "" + 
							d.getHours() + "":"" + d.getMinutes() + "":"" + d.getSeconds();
                    }
                }
            }";

			CompilerResults compilerResult = jsCodeProvider.CompileAssemblyFromSource(compilerParam, JScriptSource);

			if (compilerResult.Errors.Count > 0)
			{
				string errMsg = String.Format("Compiling JScript code failed and threw the exception: {0}", compilerResult.Errors[0].ErrorText);
				throw new ApplicationException(errMsg);
			}
            
			Assembly assembly = compilerResult.CompiledAssembly;
			_jsEvaluatorType = assembly.GetType("Evaluator.JsEvaluator");

            //Trace.WriteLine("Js evaluator type created");
		}