Torna al Thread
Module Module1
Sub Main()
Dim vb As New Microsoft.VisualBasic.VBCodeProvider
Dim params As New CodeDom.Compiler.CompilerParameters
params.GenerateInMemory = True
params.GenerateExecutable = False
params.ReferencedAssemblies.Add("System.dll")
Dim src As String = "Imports System.Math" & vbNewLine
src &= "Class Test" & vbNewLine
src &= "Public Function Eval() AS Double" & vbNewLine
src &= "Return Cos(123)" & vbNewLine
src &= "End Function" & vbNewLine
src &= "End Class"
Dim risp As System.CodeDom.Compiler.CompilerResults = vb.CompileAssemblyFromSource(params, src)
Dim inst = risp.CompiledAssembly.CreateInstance("Test")
Dim m As Reflection.MethodInfo = inst.GetType.GetMethod("Eval")
Console.WriteLine(m.Invoke(inst, Nothing))
Console.ReadLine()
End Sub
End Module