Динамическое выполнение программного кода - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Как создать mini Visual studio с поддержкой языка vb net (на VB.NET) Типа такой:

Решение задачи: «Динамическое выполнение программного кода»

textual
Листинг программы
  1. Imports Tech.DynamicCoding
  2. Imports Tech.DynamicCoding.Compilers
  3.  
  4. Public Class Form1
  5.     Public Shared shTmp As String
  6.  
  7.     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  8.         shTmp = TextBox1.Text
  9.         Dim strCodeTmp As String = "Dim frm As New Form1" & vbLf & _
  10.                                 "Dim tbl As New DataTable" & vbLf & _
  11.                                 "tbl.Columns.Add(""1"", System.Type.GetType(""System.String""))" & vbLf & _
  12.                                 "tbl.Columns.Add(""2"", System.Type.GetType(""System.String""))" & vbLf & _
  13.                                 "Dim rowtmp As DataRow" & vbLf & _
  14.                                 "rowtmp = tbl.NewRow" & vbLf & _
  15.                                 "rowtmp(""1"") = ""Param1""" & vbLf & _
  16.                                 "rowtmp(""2"") = frm.shTmp" & vbLf & _
  17.                                 "tbl.Rows.Add(rowtmp)" & vbLf & _
  18.                                 "rowtmp = tbl.NewRow" & vbLf & _
  19.                                 "rowtmp(""1"") = ""Param2""" & vbLf & _
  20.                                 "rowtmp(""2"") = par1" & vbLf & _
  21.                                 "tbl.Rows.Add(rowtmp)" & vbLf & _
  22.                                 "return tbl"
  23.         'нужно импортировать свой exe чтобы обращаться к нему(мой проект - TestDLL)
  24.         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)))
  25.         Dim asd As String = "Тест" 'входящий параметр
  26.         Dim tbl As DataTable = code.Execute(asd)
  27.         For Each rw As DataRow In tbl.Rows
  28.             MsgBox(rw("1") & " " & rw("2"))
  29.         Next
  30.     End Sub
  31. End Class

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут