Динамическое выполнение программного кода - Visual Basic .NET
Формулировка задачи:
Как создать mini Visual studio с поддержкой языка vb net (на VB.NET) Типа такой:
Решение задачи: «Динамическое выполнение программного кода»
textual
Листинг программы
- Imports Tech.DynamicCoding
- Imports Tech.DynamicCoding.Compilers
- Public Class Form1
- Public Shared shTmp As String
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- shTmp = TextBox1.Text
- Dim strCodeTmp As String = "Dim frm As New Form1" & vbLf & _
- "Dim tbl As New DataTable" & vbLf & _
- "tbl.Columns.Add(""1"", System.Type.GetType(""System.String""))" & vbLf & _
- "tbl.Columns.Add(""2"", System.Type.GetType(""System.String""))" & vbLf & _
- "Dim rowtmp As DataRow" & vbLf & _
- "rowtmp = tbl.NewRow" & vbLf & _
- "rowtmp(""1"") = ""Param1""" & vbLf & _
- "rowtmp(""2"") = frm.shTmp" & vbLf & _
- "tbl.Rows.Add(rowtmp)" & vbLf & _
- "rowtmp = tbl.NewRow" & vbLf & _
- "rowtmp(""1"") = ""Param2""" & vbLf & _
- "rowtmp(""2"") = par1" & vbLf & _
- "tbl.Rows.Add(rowtmp)" & vbLf & _
- "return tbl"
- 'нужно импортировать свой exe чтобы обращаться к нему(мой проект - TestDLL)
- Dim code As Object = CodeGenerator.CreateCode(Of DataTable)(New VB(), strCodeTmp, {"System.Data", "System.Xml", "TestDLL", "System.Windows.Forms"}, {"System.dll", "System.Xml.dll", "System.Data.dll", "TestDLL.exe", "System.Windows.Forms.dll"}, New CodeParameter("par1", GetType(String)))
- Dim asd As String = "Тест" 'входящий параметр
- Dim tbl As DataTable = code.Execute(asd)
- For Each rw As DataRow In tbl.Rows
- MsgBox(rw("1") & " " & rw("2"))
- Next
- End Sub
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д