Saltar al contenido principal

 none
Convertir código de Visual Basic a C# RRS feed

  • Pregunta

  • Un saludo a todos

    Tengo una función en visual basic que trabaja bien. Necesito lo mismo pero en C#.

                Dim response As HttpResponseMessage = http.PostAsync(IDP_URI, content).Result
                Dim res As String = response.Content.ReadAsStringAsync.Result
                Dim tk As Token = Newtonsoft.Json.JsonConvert.DeserializeObject(Of Token)(res)
                If response.StatusCode <> Net.HttpStatusCode.OK Then
                    Throw New Exception("Error: " + response.GetHashCode)
                End If

    estoy trabajando en C# MVC ASP CORE

    al escribir el código en C# me marca error en readAsStringAsync    además de que no me da la opción de Result

                   

                    HttpResponseMessage response = http.PostAsync(IDP_URI, content).Result;

             string res = response.Content.ReadAsStringAsync.Result;
                    Token tk = Newtonsoft.Json.JsonConvert.DeserializeObject<Token>(res);
                    if (response.StatusCode != System.Net.HttpStatusCode.OK)
                    {
                        throw new Exception("Error: " + response.GetHashCode());
                    }

    Agradezco sus comentarios para trasladar este código.

    jueves, 3 de octubre de 2019 5:03

Todas las respuestas

  • response.Content.ReadAsStringAsync().Result;

    Faltan los parentesis

    Fuente


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    jueves, 3 de octubre de 2019 5:24
  • En VB los paréntesis son opcionales cuando se invoca un método que no recibe argumentos. Pero en C# son obligatorios, de lo contrario cree que es una llamada a una propiedad en lugar de un método, y no compila correctamente.

    El ReadAsStringAsync es un método, no una propiedad. Por tanto, en C# es obligatorio ponerle los dos paréntesis detrás: ReadAsStringAsync()

    jueves, 3 de octubre de 2019 6:44
  • hola

    Recomendaria cuando programas en vb.net habilites las options como ser

    Option Strict Statement

    Option Explicit Statement

    no se si resolvera el problema puntual de conversion ya que la causa es que programas mal en vb.net

    Si sabes que ReadAsStringAsync es un metodo porque no le pones las () ? si lo hicieras pasar eso a c# seria directo

    pero no, porque vb.net es mas permisivo lo dejas sin los ()

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 3 de octubre de 2019 13:31
  • revisa esta direccion

    https://codeconverter.icsharpcode.net/

    jueves, 10 de octubre de 2019 22:17