2016-09-22 2 views
-1

Id möchte VB.Net-Code wie folgt geschrieben haben.Rückgabe/Verkettung von Variablen vb.net

Module1.run (Parameter, Parameter) ">> Passing Parameter Module2 zu >>" Module2.run (Parameter, Parameter)

wesentlichen Parameter zwischen den Modulen verläuft ohne ein Modul über eine Rück Anweisung ausgeführt wird, oder mehrere Anweisungen in diesem Fall. Und gemeinsame öffentliche Register vermeiden. Ist das überhaupt möglich? Kann ich vielleicht Variablen im Modulkopf übergeben?

Grüße,

Antwort

0

Erstellen Sie eine Klasse MyParameters

Public Class MyParameters 
    'Add any inputs/outputs 
    Public AnInput As Integer 
    Public AnOutput As String 
End Class 

definieren Module1.Run als

Public Sub Run(ByVal args As MyParameters) 
    args.AnOutput = String.Format("The user passed {0}", args.AnInput) 
End Sub 

definieren 'Module2.Run' als

Public Sub Run(ByVal args As MyParameters) 
    Msgbox(args.AnOutput) 
End Sub 

Dann können Sie anrufen mit:

Public Sub Main() 
    Dim args = New MyParameters() With {.AnInput = 5} 
    Module1.Run(args) 
    Module2.Run(args) 
End Sub 
0

Ok Ich dachte part1 out. Die Sache, die ich tun muss, ist, die Argumente als Referenz zu übergeben. Indem Sie das Schlüsselwort ByRef in den Modulkopf einfügen. Und machen Sie eine zusätzliche Variable, um die bidirektionale Variable zu speichern. "seltsame Art und Weise, um die Datenrichtung einzustellen, wenn Sie mich fragen"

Wie auch immer, gibt es eine Möglichkeit, die Variable von der Kopfzeile verwendet, da ich steuern kann, welche Instanz der aufgerufenen Klasse wo verwendet wird? Um einige Variablen dort zu speichern.

Grüße,