自己按照苏飞的帖子里找到的JS执行方法进行了封装处理 有这个类可以方便执行JS了
http://www.sufeinet.com/forum.php?mod=viewthread&tid=1835&highlight=58%CD%AC%B3%C7
2年来一直用E语言写程序。突然用C#感觉还是有那种自己写代码的魅力。如果有BUG或者不足请多指教QQ:3450241
如果没有BUG这个程序应该使用在多线会比较好~~~
调用方法:
配合Resources资源文件实现方便的执行JS内容,好几年没用c#写东西了。可能有一些不足。希望多多指教
string device_id = ExtScriptControl(project.Properties.Resources.js, "eee", null);
[C#] 纯文本查看 复制代码
public string ExtScriptControl(string js, string Runjs, object[] obj)
{
CodeDomProvider _provider = new Microsoft.JScript.JScriptCodeProvider();
StringBuilder sb = new StringBuilder();
sb.Append("package aa{ public class JScript {");
js = js.Replace("function", "public static function");
sb.Append(js);
sb.Append("}}");
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateInMemory = true;
CompilerResults results = _provider.CompileAssemblyFromSource(parameters, sb.ToString());
Assembly assembly = results.CompiledAssembly;
Type _evaluateType;
_evaluateType = assembly.GetType("aa.JScript");
object Robj = _evaluateType.InvokeMember(Runjs, BindingFlags.InvokeMethod,
null, null, obj);
return Robj.ToString();
}
|