Avatar billede ux Nybegynder
27. maj 2009 - 22:23 Der er 6 kommentarer og
1 løsning

Oversættelse fra C# til vb.net

Er der en der kan hjælpe mig med at oversætte følgende C# til vb.net?


        delegate string DownloadString(string uri);
       
        private void button1_Click(object sender, EventArgs e)
        {
            // Instantiate delegates with DownloadString's signature:
            DownloadString download1 = new WebClient().DownloadString;
            DownloadString download2 = new WebClient().DownloadString;
            // Start the downloads:
            IAsyncResult cookie1 = download1.BeginInvoke("http://www.google.dk", null, null);
            IAsyncResult cookie2 = download2.BeginInvoke("http://www.google.com", null, null);
            // Perform some random calculation:
            double seed = 1.23;
            for (int i = 0; i < 1000000; i++) seed = Math.Sqrt(seed + 1000);
            // Get the results of the downloads, waiting for completion if necessary.
            // Here's where any exceptions will be thrown:
            string s1 = download1.EndInvoke(cookie1);
            string s2 = download2.EndInvoke(cookie2);
            string s3 = s1 == s2 ? "Same" : "Different";
            string s4 = "";
           
        }


Jeg har selv oversat det til følgende, men det fejler... (fejlbeskrivelse ses et par linier længere nede)

  Delegate Function DownloadString(ByVal uri As String) As String

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    ' Instantiate delegates with DownloadString's signature:
    'Fejler i nedenstående linier, fejl: Overload resolution failed because no accessible "DownloadString" accepts this number of arguments.
    Dim download1 As DownloadString = New WebClient().DownloadString
    Dim download2 As DownloadString = New WebClient().DownloadString
    ' Start the downloads:
    Dim cookie1 As IAsyncResult = download1.BeginInvoke("http://www.google.dk", Nothing, Nothing)
    Dim cookie2 As IAsyncResult = download2.BeginInvoke("http://www.google.com", Nothing, Nothing)
    ' Perform some random calculation:
    Dim seed As Double = 1.23
    Dim i As Integer = 0
    While i < 1000000
      seed = Math.Sqrt(seed + 1000)
      System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)
    End While
    ' Get the results of the downloads, waiting for completion if necessary.
    ' Here's where any exceptions will be thrown:
    Dim s1 As String = download1.EndInvoke(cookie1)
    Dim s2 As String = download2.EndInvoke(cookie2)
    Dim s3 As String = If(s1 = s2, "Same", "Different")
    Dim s4 As String = ""
  End Sub
Avatar billede srofhest Nybegynder
28. maj 2009 - 15:04 #1
Avatar billede ux Nybegynder
28. maj 2009 - 15:17 #2
Det giver samme resultat - altså fejl i vb.net koden
Avatar billede ux Nybegynder
03. juni 2009 - 11:15 #3
Er der ingen der har et bud på dette?

Jeg vil gerne tildele nogle flere point, ved bare ikke lige hvordan jeg gør det?
Avatar billede arne_v Ekspert
08. juni 2009 - 02:36 #4
Prøv med:

        Private Delegate Function DownloadString(uri As String) As String
        Private Sub button1_Click(sender As Object, e As EventArgs)
            ' Instantiate delegates with DownloadString's signature:
            Dim download1 As DownloadString = AddressOf New WebClient().DownloadString
            Dim download2 As DownloadString = AddressOf New WebClient().DownloadString
            ' Start the downloads:
            Dim cookie1 As IAsyncResult = download1.BeginInvoke("http://www.google.dk", Nothing, Nothing)
            Dim cookie2 As IAsyncResult = download2.BeginInvoke("http://www.google.com", Nothing, Nothing)
            ' Perform some random calculation:
            Dim seed As Double = 1.23
            For i As Integer = 0 To 999999
                seed = Math.Sqrt(seed + 1000)
            Next
            ' Get the results of the downloads, waiting for completion if necessary.
            ' Here's where any exceptions will be thrown:
            Dim s1 As String = download1.EndInvoke(cookie1)
            Dim s2 As String = download2.EndInvoke(cookie2)
            Dim s3 As String = If(s1 = s2, "Same", "Different")
            Dim s4 As String = ""

        End Sub
Avatar billede ux Nybegynder
08. juni 2009 - 08:40 #5
Tak Arne!

Det var lige det der skulle til.

Ved du hvordan man tildeler flere point?
Avatar billede arne_v Ekspert
08. juni 2009 - 15:14 #6
Der burde vaere en "juster point" funktion.

Men ellers maa du oprette et ekstra spoergsmaal.

Og et svar.
Avatar billede ux Nybegynder
08. juni 2009 - 21:16 #7
Jeg kunne ikke finde en "juster point" funktion, så jeg oprettede en ny post til dig i stedet for: http://www.eksperten.dk/spm/877570

Der ligger yderligere 100 point til dig.

Mange tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester