C# 动态编译代码实现
2010-11-20 13:50
495 查看
public class BLProgram { protected const string PROCESS_METHOD_CODE = @" using System; public class Program {{ public static void Main() {{ string parameter = ""{0}""; string result = ""{1}""; Detection(parameter,result); }} static void Detection(string testParameters,string testResults) {{ Console.WriteLine(testParameters+""-""+testResults); }} }}"; /// <summary> /// 判断程序题是否正确 /// </summary> /// <param name="strCode"></param> /// <returns></returns> public bool IsCProgramRight(string strCode) { string id = Guid.NewGuid().ToString(); List<string> output = new CodeRun().Run(strCode, id); string strOutpt = ""; for (int i = 0; i < output.Count; i++) { strOutpt += output[i]; } return (strOutpt == "对/n"); } /// <summary> /// 输出执行结果 /// </summary> /// <param name="strCode"></param> /// <returns></returns> public string GetOutPut(string strCode) { string id = Guid.NewGuid().ToString(); List<string> output = new CodeRun().Run(strCode, id); string strOutpt = ""; for (int i = 0; i < output.Count; i++) { strOutpt += output[i]; } return strOutpt; } /// <summary> /// 生成程序 /// </summary> /// <param name="parameter"></param> /// <param name="result"></param> /// <returns></returns> public string GetProgramStyle(string parameter, string result) { StringBuilder processMethod = new StringBuilder(); processMethod.AppendFormat(PROCESS_METHOD_CODE, parameter, result); return processMethod.ToString(); } /// <summary> /// 判断程序是否能生成成功 /// </summary> /// <param name="strCode"></param> /// <returns></returns> public bool BianYI(string strCode) { string id = Guid.NewGuid().ToString(); List<string> output = new CodeRun().Run(strCode, id); string strOutpt = ""; for (int i = 0; i < output.Count; i++) { strOutpt += output[i]; } return (strOutpt == "对/n" || strOutpt == "错/n"); } }
相关文章推荐
- C#实现动态编译代码
- 如何用C#动态编译、执行代码
- C# .Net动态调用webService实现思路及代码
- 利用Refly和CodeDom实现代码的动态生成和动态编译
- 如何用C#动态编译、执行代码
- 如何用C#动态编译、执行代码例程(2)
- 在C#中动态编译T4模板代码
- 使用 C# 动态编译代码和执行的代码
- 如何用C#动态编译、执行代码
- C#代码动态编译、动态执行、动态调试
- 如何用C#动态编译、执行代码
- 利用Refly和CodeDom实现代码的动态生成和动态编译
- C#代码动态编译、动态执行、动态调试
- 【经典实例】利用C#反射动态编译代码,创建类的实例,并调用其成员
- c#动态编译和执行代码
- 动态编译执行c#代码
- 使用CodeDOM实现代码生成及动态编译
- 如何用C#动态编译、执行代码
- C#动态编译代码
- C#代码动态编译、动态执行、动态调试