Динамическое выполнение программного кода - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5