Hallo, könnte mir bitte jemand kurz erläutern, was hier geschieht?
1.) Ich komme nicht damit zurecht, was System.Func ist. Laut Erklärungsfenster ein Delegate Function System.Func(Of in T1, in T2, Out TResult) As TResult
1.1) Und dann auch noch ein = Zeichen, mit dem
1.2) welche wiederum eine Function in sich hat
2.) Ich denke, IProgress habe ich verstanden. Wird halt automatisch vom System ausgeführt.
1.) Ich komme nicht damit zurecht, was System.Func ist. Laut Erklärungsfenster ein Delegate Function System.Func(Of in T1, in T2, Out TResult) As TResult
1.1) Und dann auch noch ein = Zeichen, mit dem
Private Function Func(C As Double, D As Double) As Func(Of Double, Double, String)
verknüpft wird..1.2) welche wiederum eine Function in sich hat
Return Function(X1 As Double, X2 As Double) As String
2.) Ich denke, IProgress habe ich verstanden. Wird halt automatisch vom System ausgeführt.
VB.NET-Quellcode
- Imports Microsoft.VisualBasic.ControlChars
- Public Class FormMain
- Private Const DeltaT As Double = 0.4
- Private SimulationTime As Double = 0.0
- Private DelegateFunction_ As Func(Of Double, Double, String) = Func(0.0, 1.0)
- Private Sub ButtonStart_Click(sender As Object, e As EventArgs) Handles ButtonStart.Click
- Timer1.Start()
- End Sub
- Private Sub ButtonStop_Click(sender As Object, e As EventArgs) Handles ButtonStop.Click
- Timer1.Stop()
- End Sub
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
- UpdateStatus.Report(DelegateFunction_(SimulationTime, 3.0))
- SimulationTime += DeltaT
- End Sub
- Private Function Func(C As Double, D As Double) As Func(Of Double, Double, String)
- Dim A As Double = C
- Dim B As Double = D
- Return Function(X1 As Double, X2 As Double) As String
- Return $"{A:F3} {B:F5}"
- End Function
- End Function
- Private UpdateStatus As IProgress(Of String) = New Progress(Of String)(
- Sub(ReportMessage As String)
- Dim UpdatedText As String = TextBox1.Text.Trim()
- If String.IsNullOrEmpty(UpdatedText) Then
- UpdatedText = ReportMessage
- Else
- UpdatedText += NewLine & ReportMessage
- End If
- TextBox1.Text = UpdatedText
- TextBox1.SelectionStart = TextBox1.Text.Length
- TextBox1.ScrollToCaret()
- End Sub)
- End Class
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Bartosz“ ()