今天看到一段代码,挺有意思的,是现时编译代码的程序,一边写代码,可以一边编译.
代码如下:
Public Class Form1
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim vbcp As New Microsoft.VisualBasic.VBCodeProvider()
Dim cps As New System.CodeDom.Compiler.CompilerParameters()
Dim cr As System.CodeDom.Compiler.CompilerResults
'生成可执行文件
cps.GenerateInMemory = True
cps.OutputAssembly = TextBox1.Text
cr = vbcp.CompileAssemblyFromSource(cps, RichTextBox1.Text)
If cr.Errors.Count > 0 Then
'当有错误时输出
Dim compErr As System.CodeDom.Compiler.CompilerError
For Each compErr In cr.Errors
ListBox1.Items.Insert(0, compErr.FileName)
ListBox1.Items.Insert(0, compErr.Line)
ListBox1.Items.Insert(0, compErr.Column)
ListBox1.Items.Insert(0, compErr.ErrorNumber)
ListBox1.Items.Insert(0, compErr.ErrorText)
Next
MessageBox.Show("Error")
Else
MessageBox.Show("Success")
End If
End Sub
End Class
图片如下: