C#动态编译代码
2011-10-24 16:25
393 查看
using System;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using System.Reflection;
public class Example
{
static void Main()
{
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters parameter = new CompilerParameters();
parameter.ReferencedAssemblies.Add("System.dll");
parameter.GenerateExecutable = false;
parameter.GenerateInMemory = true;
CompilerResults result = provider.CompileAssemblyFromSource(parameter,
CreateCode("256*56*(145+56.0*254/345)"));//将你的式子放在这里
if (result.Errors.Count > 0)
{
Console.WriteLine("动态编译出错了!");
}
else
{
Assembly assembly = result.CompiledAssembly;
Type AType = assembly.GetType("ANameSpace.AClass");
MethodInfo method = AType.GetMethod("AFunc");
Console.WriteLine(method.Invoke(null, null));
}
Console.Read();
}
static string CreateCode( string para)
{
return "using System; namespace ANameSpace{static class AClass{public static object AFunc(){return "+para+";}}}";
}
}
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using System.Reflection;
public class Example
{
static void Main()
{
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters parameter = new CompilerParameters();
parameter.ReferencedAssemblies.Add("System.dll");
parameter.GenerateExecutable = false;
parameter.GenerateInMemory = true;
CompilerResults result = provider.CompileAssemblyFromSource(parameter,
CreateCode("256*56*(145+56.0*254/345)"));//将你的式子放在这里
if (result.Errors.Count > 0)
{
Console.WriteLine("动态编译出错了!");
}
else
{
Assembly assembly = result.CompiledAssembly;
Type AType = assembly.GetType("ANameSpace.AClass");
MethodInfo method = AType.GetMethod("AFunc");
Console.WriteLine(method.Invoke(null, null));
}
Console.Read();
}
static string CreateCode( string para)
{
return "using System; namespace ANameSpace{static class AClass{public static object AFunc(){return "+para+";}}}";
}
}
相关文章推荐
- 使用 C# 动态编译代码和执行的代码
- 动态编译执行C#代码
- C#代码动态编译、动态执行、动态调试
- 如何用C#动态编译应用程序来执行自定义代码
- 如何用C#动态编译、执行代码[转]
- C#动态编译代码
- C#代码动态编译、动态执行、动态调试
- 一个简单的动态编译器,支持C#和VB.NET。当你想测试一些简单的代码的时候可以使用。
- C#动态编译、执行代码
- 如何用C#动态编译、执行代码
- 如何用C#动态编译、执行代码
- 如何用C#动态编译、执行代码
- [转]用C#动态编译、执行代码
- 动态编译执行C#代码
- 动态编译执行c#代码
- C#代码动态编译、动态执行、动态调试
- 如何用C#动态编译、执行代码
- C#代码动态编译、动态执行、动态调试
- 如何用C#动态编译、执行代码
- 如何用C#动态编译、执行代码