a
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.
-
-
mit dieser lib kannste code ausführen
oder so:VB.NET-Quellcode
- <Extension()> _
- Public Function Run(code As String) As Object
- Dim InputCode As [String] = [String].Empty
- 'Unser TestCode, in dem Wir ein MessageBox aufrufen
- InputCode = code
- Dim Assembly As System.Reflection.Assembly = CompileCode(InputCode)
- 'Compilefehler abfangen
- If Assembly Is Nothing Then
- Return 0
- End If
- Dim Temp As Object = Assembly.CreateInstance("RunTimeCompiler.Test")
- 'Fehler bei Instanzenerzeugung
- If Temp Is Nothing Then
- Return 0
- End If
- Dim RefType As Type = Temp.[GetType]()
- 'Aufzurufende Methode auswählen, in unserem Fall heißt die Funktion Ergebnis
- Dim MethodInfo As System.Reflection.MethodInfo = RefType.GetMethod("Ergebnis")
- 'Methode aufrufen, in unserem Fall haben wir in der Funktion Ergebnis keine Parameter. Andernfalls müssten diese als Object-Array angegeben Werden
- Return MethodInfo.Invoke(Temp, New Object() {})
- End Function
- ''' <summary>
- '''
- ''' </summary>
- ''' <param name="InputCode"></param>
- ''' <returns></returns>
- Public Function CompileCode(InputCode As String) As System.Reflection.Assembly
- Dim CodeDomProvider As System.CodeDom.Compiler.CodeDomProvider = System.CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp")
- 'Parameter für die Compilierung, wie die einzubindenen Bibliotheken usw.
- Dim CompilerParameters As New System.CodeDom.Compiler.CompilerParameters()
- CompilerParameters.ReferencedAssemblies.Add("System.dll")
- CompilerParameters.ReferencedAssemblies.Add("System.Windows.Forms.dll")
- CompilerParameters.CompilerOptions = "/t:library"
- CompilerParameters.GenerateInMemory = True
- 'Über den StringBuilder wird der Code zusammengesetzt
- Dim Temp As New StringBuilder()
- Temp.AppendLine("using System;")
- Temp.AppendLine("using System.Windows.Forms;")
- Temp.AppendLine("namespace RunTimeCompiler{")
- Temp.AppendLine("public class Test{")
- Temp.AppendLine("public object Ergebnis(){")
- Temp.AppendLine(InputCode)
- Temp.AppendLine("}}}")
- 'Compilieren
- Dim CompilerResults As System.CodeDom.Compiler.CompilerResults = CodeDomProvider.CompileAssemblyFromSource(CompilerParameters, Temp.ToString())
- 'Auf CompilerFehler prüfen
- If CompilerResults.Errors.Count > 0 Then
- Return Nothing
- End If
- 'Rückgabe der compilierten Assembly
- Return CompilerResults.CompiledAssembly
- End Function
müsstest aber anpassen -
-
-
-
Android schrieb:
Man gibt zum Beispiel "beispielplugin" in eine TextBox ein,Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
4 Benutzer haben hier geschrieben
- Gast (3)
- ThuCommix (1)
- SeriTools (1)
- RodFromGermany (1)