0
Wie kann ich eine Funktion mit Delegaten dynamisch aufrufen, indem Sie eine Zeichenfolge an einen Hintergrundthread in VB.NET übergeben?Wie kann ich eine Funktion dynamisch mit Delegaten aufrufen, indem Sie eine Zeichenfolge an einen Hintergrundthread in VB.NET übergeben?
Derzeit mein Code ist dies
Public Sub invertImageBK(ByVal image As Bitmap)
Dim snxl As System.ComponentModel.BackgroundWorker = createBW()
snxl.RunWorkerAsync(New ImageProperties(image.Clone, "invertImage", Nothing))
End Sub
Public Sub grayscaleImageBK(ByVal image As Bitmap)
Dim snxl As System.ComponentModel.BackgroundWorker = createBW()
snxl.RunWorkerAsync(New ImageProperties(image.Clone, "grayscaleImage", Nothing))
End Sub
Public Sub colorizeImageBK(ByVal image As Bitmap, ByVal colorize As Color)
Dim snxl As System.ComponentModel.BackgroundWorker = createBW()
snxl.RunWorkerAsync(New ImageProperties(image.Clone, "colorizeImage", colorize))
End Sub
Private Sub ConvertImage(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs)
If e.Argument.extra IsNot Nothing Then
Dim snxl As New twoarg()
Else
End If
End Sub
Private Delegate Function onearg(ByVal image As Bitmap) As Bitmap
Private Delegate Function twoarg(ByVal image As Bitmap, ByVal altcolor As Color) As Bitmap
Private Function createBW() As System.ComponentModel.BackgroundWorker
Dim cbs As New System.ComponentModel.BackgroundWorker
AddHandler cbs.DoWork, AddressOf ConvertImage
Return cbs
End Function
Public Structure ImageProperties
Dim img As Bitmap
Dim filt As String
Public Sub New(ByVal image As Bitmap, ByVal filter As String, ByVal extra As Object)
img = image.Clone
filt = filter
End Sub
End Structure
und schließlich wird es ein Ereignis auslösen mir mein Ergebnis zu geben.
nicht ganz, die Zeichenfolge AddressOf, wie ich konvertiere, dass – Jim
Die oneargImplementation das Ereignis, das ausgelöst wird. –