Principales respuestas
probelma con icoherencia de accesibilidad: el tipo de valor devuelto es menos accesible

Pregunta
-
hola, tengo este problema con un pequeño ejercicio de clases, estamos usando xamarin para hacer una app que se conecte a una pagina de clima, y la profesora nos paso el código, pero a mi me sale este error que ni a ella ni al resto de mis compañeros les sale. el error sale en la clase ServicioClima.cs
* CS0050 Incoherencia de accesibilidad: el tipo de valor devuelto 'Task<Clima>' es menos accesible que el método 'ServicioClima.Buscar(string)' ClimaAPP C:\Users\OSKR ARTURO\source\repos\ClimaAPP\ClimaAPP\ClimaAPP\Servicios\SevicioClima.cs 13 Activo*
el codigo es el siguiente.
ServicioClima.cs
using ClimaAPP.Clases; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Net.Http; using System.Threading.Tasks; namespace ClimaAPP.Servicios { public static class ServicioClima { static string Key = "2bddc3f4dc0650aa77eebfd9fa5ccc92"; public static async Task<Clima> Buscar(string ciudad) { var conexion = $"http://api.openweathermap.org/data/2.5/weather?q={ciudad}&appid={Key}"; using (var cliente = new HttpClient()) { var peticion = await cliente.GetAsync(conexion); if (peticion != null) { var json = peticion.Content.ReadAsStringAsync().Result; var datos = (JContainer)JsonConvert.DeserializeObject(json); if (datos["weather"] != null) { Clima clima = new Clima(); clima.Titulo = (string)datos["name"]; clima.Temperatura = ((float)datos["main"]["temp"] - 273.15).ToString("N2") + " °C"; clima.Viento = (string)datos["wind"]["speed"] + " mph"; clima.Humedad = (string)datos["main"]["humidity"] + " %"; clima.Visibilidad = (string)datos["weather"][0]["main"]; var fechaBase = new DateTime(1970, 1, 1, 0, 0, 0, 0); var amanecer = fechaBase.AddSeconds((double)datos["sys"]["sunrise"]); var ocaso = fechaBase.AddSeconds((double)datos["sys"]["sunset"]); clima.Amanecer = amanecer.ToString() + " UTC"; clima.Ocaso = ocaso.ToString() + " UTC"; return clima; } } } return default; } } }
*************************
PaginaClima.xaml.cs
using ClimaAPP.Clases; using ClimaAPP.Servicios; using System; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace ClimaAPP.Paginas { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class PaginaClima : ContentPage { public PaginaClima() { InitializeComponent(); this.BindingContext = new Clima(); } private async void btnBuscar_Clicked(object sender, EventArgs e) { if (!String.IsNullOrEmpty(txtCiudad.Text)) { var clima = await ServicioClima.Buscar(txtCiudad.Text); if (clima != null) { this.BindingContext = clima; btnBuscar.Text = "Buscar de nuevo"; } } } } }
***************************
PaginaClima.xaml
<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="ClimaAPP.Paginas.PaginaClima"> <ScrollView> <StackLayout BackgroundColor="#545454"> <StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand"> <StackLayout Padding="10,10,10,10" HorizontalOptions="Start"> <Label Text="Clima de una ciudad" TextColor="White" FontAttributes="Bold" FontSize="Medium" /> <Label Text="Ciudad" TextColor="#a8a8a8" FontSize="Small"/> <Entry x:Name="txtCiudad" TextColor="White" BackgroundColor="Black" /> </StackLayout> <StackLayout Padding="0,0,0,10" VerticalOptions="End"> <Button x:Name="btnBuscar" Text="Buscar clima" WidthRequest="185" BorderWidth="1" Clicked="btnBuscar_Clicked"/> </StackLayout> </StackLayout> <StackLayout Padding="10,10,10,10" HorizontalOptions="Start"> <Label Text="Ubicación" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Titulo}" TextColor="White" FontSize="Medium"/> <Label Text="Temperatura" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Temperatura}" TextColor="White" FontSize="Medium"/> <Label Text="Viento" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Viento}" TextColor="White" FontSize="Medium"/> <Label Text="Humedad" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Humedad}" TextColor="White" FontSize="Medium"/> <Label Text="Visibilidad" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Visibilidad}" TextColor="White" FontSize="Medium"/> <Label Text="Amanecer" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Amanecer}" TextColor="White" FontSize="Medium"/> <Label Text="Ocaso" TextColor="#a8a8a8" FontSize="Small"/> <Label Text="{Binding Ocaso}" TextColor="White" FontSize="Medium"/> </StackLayout> </StackLayout> </ScrollView> </ContentPage>
*************
Clima.cs
using System; using System.Collections.Generic; using System.Text; namespace ClimaAPP.Clases { class Clima { public string Titulo { get; set; } public string Temperatura { get; set; } public string Viento { get; set; } public string Humedad { get; set; } public string Visibilidad { get; set; } public string Amanecer { get; set; } public string Ocaso { get; set; } public Clima() { this.Titulo = ""; this.Temperatura = ""; this.Viento = ""; this.Humedad = ""; this.Visibilidad = ""; this.Amanecer = ""; this.Ocaso = ""; } } }
*****************
gracias de ante mano por la ayuda que me puedan brindar.