Was ist so schlimm an Sleep? Ob Du nun Funktion A oder Methode B benutzt, dürfte doch irrelevant sein. Oder siehst Du Seiteneffekte die mir nicht klar sind?
Sämtliche .Net-Funktionen stehen allen .Net-Sprache unter dem selben Namespace mit dem selben Namen zur Verfügung. Nur der Syntax ist machmal etwas anders. Hierzu einfach einmal die MSDN öffnen und sich den Beispielcode in C# und VB.Net anzeigen lassen.
My ist keine .Net-Funktion sondern ein Bestandteil der Sprache VB.Net. Genauso wie "this" ein Bestandteil des C#-Sprachsyntaxes ist. ABER: Ja, du kannst My.Computer unter C# verwenden wenn du den "Microsoft.VisualBasic.Devices"-Namespace und die passende DLL ("Microsoft.VisualBasic.dll") in dein C#-Proramm importierst.
Public Sub Sleep(ByVal msec As Integer) Dim myTimer As Date myTimer = Now.AddMilliseconds(msec) Do While myTimer > Now Application.DoEvents() Loop End Sub
Vielleicht ist die Klasse EventWaitHandle das, was du suchst?
Dim ewh As EventWaitHandle = New EventWaitHandle(False, EventResetMode.AutoReset)
Funktion "WaitOne": Blockiert den aktuellen Thread, bis die aktuelle Instanz ein Signal empfängt... Funktion "Set": Legt den Zustand des Ereignisses auf signalisiert fest und ermöglicht so einem oder mehreren wartenden Threads fortzufahren.