VS2005中怎么手写动态编译的代码?

如题。这东西是不是好难的,最好能给我个代码。有一次老师给我们演示自己写的东西。在TextBox或者是RichTextBox,在里面写了我们在VS2005中一样的代码。比如... 如题。

这东西是不是好难的,最好能给我个代码。
有一次老师给我们演示自己写的东西。
在TextBox或者是RichTextBox,在里面写了我们在VS2005中一样的代码。 比如,有一个方法。方法里面写上MessageBox.Show("aaaaa");
点个按钮,就能够执行这段代码了。
老师说是动态编译,还说什么一下子说不清。。
请高手帮忙解决下。。
自己找过一下MSDN上面好像说是Code....后面单词不记得了。。

我觉得要悬赏分不重要,答题的如果要分数,我可以追加。。
展开
 我来答
iceser
2008-07-07 · TA获得超过2708个赞
知道大有可为答主
回答量:695
采纳率:100%
帮助的人:455万
展开全部
使用 CodeDom 吧?

呵呵,懒得写窗体,,就MSDN提供的DEMO,随便改了点代码,,你看看有用没有,呵呵,我用控制台程序,懒得做窗体了,你可以把 code 变量,用一个TextBox或者RichTextBox来输入。

MSDN里有,其实.net的对象,以及用法,MSDN都写得很详细了,有需要就查查MSDN,问题就解决了。

using System;
using System.CodeDom;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;

using System.Collections.Generic;
using System.Text;
using System.IO;

namespace ConsoleApplication3
{
class Program
{
static void Main( string[] args )
{
//create the code dom provider
CodeDomProvider provider = CodeDomProvider.CreateProvider( "CSharp" );

// Configure a CompilerParameters that links System.dll
// and produces the specified executable file.
String[] referenceAssemblies = { "System.dll" };
CompilerParameters cp = new CompilerParameters( referenceAssemblies,
"DemoApp.exe", false );
// Generate an executable rather than a DLL file.
cp.GenerateExecutable = true;

string code = @"using System;
namespace Samples {
public class DemoClass1 {
public static void Main() {
Console.WriteLine( ""Hello World!"" );
Console.WriteLine( ""Press the Enter key to continue."" );
Console.ReadLine();
}
}
}";

// Invoke compilation.
CompilerResults cr = provider.CompileAssemblyFromSource( cp, code );

if( cr.Errors.HasErrors )
{
foreach ( CompilerError error in cr.Errors )
{
Console.WriteLine( "[{0}({1})] {2}(第{3}行)",
error.IsWarning ? "警告" : "错误",
error.ErrorNumber,
error.ErrorText,
error.Line );
}
}
else
{
Process.Start( "DemoApp.exe" );
}

Console.ReadKey();
}
}
}
游翠曼9A
2008-07-08
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式