技术开发 频道

一个简单的C#在线IDE示例


【IT168技术文档】

  做一个简单的C#在线IDE主要解决两个问题:
  一是如何将网页上文本框的代码编译并执行;
  二是如何将程序运行结果在网页上输出.

  第一个问题不难, dotNET已经有现成的C#编译类CSharpCodeProvider(或是其它语言的),再使用CompilerParameters类做为编译参数,就可以很容易的实现.

  第二个问题, 举最简单情况, 就是将Console.Write方法输出的内容在网页上显示出来.这其实也很好办,只要在编译之前, 在输出语句做一个替换, 将输出的内容存到另一个地方.等运行结束后, 再从那个地方取出来就是了.

  代码实现如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text;    namespace VSOnline.Framework {    ///    /// 自定义的输出类    ///    public class Consoler    {    //存储所有输出    public static Dictionary Outputs { get; set; }       static Consoler()    {     Outputs = new Dictionary();    }       #region 输出操作       //当前输出     public List Output { get; private set; }       public Consoler()   {    Output = new List();    }       public void Write(object str)   {    Output.Add(str.ToString());   }      public void WriteLine(object str)    {     Output.Add(str.ToString() + "\n");   }    #endregion    } }
0
相关文章