vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Array als Argument an Compiler übergeben  
Autor: WaldiMaywood
Datum: 23.06.04 17:57

Übergebe doch einfach das Array als Paramter der Invoke() Methode.
Hier ein kleines Beispiel, welches in etwa die Funktionsweise zeigen soll:
(Was dich interessieren könnte, ist Fett hervorgehoben)
	    Public Function Ausgeben(ByVal Formel As String) As String
	       Dim ASM As [Assembly] = CreateAssemblyFromCode(Formel)
	       Dim O As Object = ASM.CreateInstance("MyNameSpace.MyType")
	       Dim T As Type = O.GetType()
	       Dim MI As MethodInfo = T.GetMethod("Test")
	       Dim MyVals() As Integer = {1,2,3,4,5,6,7,9,11,12}
	       Return MI.Invoke(O, New Object() {MyVals})
    	End Function
	    Private Function CreateAssemblyFromCode(ByVal Code As String) As [Assembly]
	        Dim CDP As CodeDomProvider = New Microsoft.VisualBasic.VBCodeProvider  _
                      ' Compiler erzeugen
	        Dim Compiler As ICodeCompiler = CDP.CreateCompiler()
	        Dim CP As New CompilerParameters
	        CP.GenerateInMemory = True
	        Dim CR As CompilerResults = Compiler.CompileAssemblyFromSource(CP, _
  Code)
	        If CR.Errors.Count <> 0 Then
	            For A As Integer = 0 To cr.Errors.Count 
	            	me.textBox1.AppendText(cr.Errors(A).ToString() + _
  System.Environment.NewLine )
	            Next
	            Return Nothing
	        Else
	            Return CR.CompiledAssembly
	        End If
	    End Function
    	    Private Sub Button1Click(sender As System.Object, e As _
      System.EventArgs)
			Dim s As New System.Text.Stringbuilder
			s.Append ("Namespace MyNameSpace" + System.Environment.NewLine)
			s.Append ("  Public Class MyType" + System.Environment.NewLine)
			s.Append ("    Public Function Test (Arr() As Integer) As String" + _
  System.Environment.NewLine)
			s.Append ("	 Dim s As String" + System.Environment.NewLine)
			s.Append ("      For Each l As Integer In Arr" + System.Environment.NewLine)
			s.Append ("       s += l.ToString()  " + System.Environment.NewLine)
			s.Append ("      Next" + System.Environment.NewLine)
			s.Append ("      Return s" + System.Environment.NewLine)
			s.Append ("    End Function" + System.Environment.NewLine)
			s.Append ("  End Class" + System.Environment.NewLine)
			s.Append ("End Namespace" + System.Environment.NewLine)
			Me.textBox1.Text = Me.Ausgeben(s.ToString())
		End Sub
Steve
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Array als Argument an Compiler übergeben 1.570Easyrider23.06.04 15:01
Re: Array als Argument an Compiler übergeben 1.157WaldiMaywood23.06.04 17:57
Re: Array als Argument an Compiler übergeben 835Easyrider24.06.04 10:03
Re: Array als Argument an Compiler übergeben 857ModeratorDaveS24.06.04 10:14
Re: Array als Argument an Compiler übergeben 788Easyrider24.06.04 10:25
Re: Array als Argument an Compiler übergeben 917ModeratorDaveS24.06.04 10:39
Re: Array als Argument an Compiler übergeben 836Easyrider24.06.04 11:08
Re: Array als Argument an Compiler übergeben 912ModeratorDaveS24.06.04 11:23
Re: Array als Argument an Compiler übergeben 832Easyrider24.06.04 11:48
Re: Array als Argument an Compiler übergeben 828ModeratorDaveS24.06.04 11:51
Re: Array als Argument an Compiler übergeben 962WaldiMaywood24.06.04 11:55
Re: Array als Argument an Compiler übergeben 852Easyrider24.06.04 12:07

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel