|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。编译|静态|编译usingSystem;
usingSystem.CodeDom.Compiler;
usingMicrosoft.CSharp;
usingSystem.Reflection;
usingSystem.Text;
namespaceConsoleApplication22
{
///<summary>
///Class1的择要申明。
///</summary>
classClass1
{
///<summary>
///使用程序的主出口点。
///</summary>
[STAThread]
staticvoidMain(string[]args)
{
//
//TODO:在此处增加代码以启动使用程序
//
inti=(int)Calc("1+2*3");
Console.WriteLine(i.ToString());
Console.ReadLine();
}
publicstaticobjectCalc(stringexpression)
{
stringclassName="Calc";
stringmethodName="Run";
expression=expression.Replace("/","*1.0/");
//创立编译器实例。
ICodeCompilercomplier=(newCSharpCodeProvider().CreateCompiler());
//设置编译参数。
CompilerParametersparas=newCompilerParameters();
paras.GenerateExecutable=false;
paras.GenerateInMemory=true;
//创立静态代码。
StringBuilderclassSource=newStringBuilder();
classSource.Append("publicclass"+className+"
");
classSource.Append("{
");
classSource.Append("publicobject"+methodName+"()
");
classSource.Append("{
");
classSource.Append("return"+expression+";
");
classSource.Append("}
");
classSource.Append("}");
//System.Diagnostics.Debug.WriteLine(classSource.ToString());
//编译代码。
CompilerResultsresult=complier.CompileAssemblyFromSource(paras,classSource.ToString());
//猎取编译后的程序集。
Assemblyassembly=result.CompiledAssembly;
//静态挪用办法。
objecteval=assembly.CreateInstance(className);
MethodInfomethod=eval.GetType().GetMethod(methodName);
objectreobj=method.Invoke(eval,null);
GC.Collect();
returnreobj;
}
}
}
</p>缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 |
|