Я пытаюсь использовать интерфейс, но у меня возникли некоторые трудности.Я пытаюсь установить его в виде списка xamrin за страницей содержимого
public class xxxApiClient : IApi
{
readonly string url = "http://localhost:81/ ";
readonly IHttpService httpService;
public xxxApiClient(IHttpService httpService)
{
this.httpService = httpService;
}
public Task<List<JobsList>> GetJobs() => httpService.Get<List<JobsList>>($"{url}JobsLists");
}
Как бы то ни было, я не уверен, как я рассчитываю поправку getjobs Я пробую следующее
public partial class JobsPage : ContentPage ,xxxWC.Interface.IApi
{
public xxxWC.Interface.IApi api = new ful;
public JobsPage ()
{
InitializeComponent ();
}
private Task SetItemSource()
. {
. JobListing.ItemsSource = FuelAp
}
Как правильно использовать приведенные выше задания get в методе setItemSource?.
Бит, который мне трудно понять, находится здесь.
Как мне вызвать базовый метод GetJobs, который у меня есть?уже создан в клиенте API.
Task<List<JobsList>> IApi.GetJobs()
{
throw new NotImplementedException();
}
private Task SetItemSource()
{
JobListings.ItemsSource =await GetJobs();
}
}
Редактировать 2 Хорошо, основываясь на предложениях ниже, я обновил свой код как таковой
IHttpService httpService;
xxxApiClient _api = newxxxApiClient(httpService);
public JobsPage ()
{
InitializeComponent ();
}
private Task SetItemSource()
{
JobListings.ItemsSource =await GetJobs();
}
Но я получаю ошибку ниже
Код серьезности Описание Ошибка состояния подавления строки файла проекта CS0236 Инициализатор поля не может ссылаться на нестатическое поле, метод или свойство 'JobsPage.httpService' xxxCallManagmentAppMobile C: \ Work \ xxxCallAppDev \ XamForms \ xxxCallManagmentAppxxxCallManagmentAppMobile \ FuelCallManagmentAppMobile \ Views \ JobsPage.xaml.cs 17 Active
Может кто-нибудь объяснить, почему
Edit 3 Ok, я получилнемного дальше, но все еще есть некоторые проблемы.так как основной метод не ожидается, как я могу вызвать setItemSource.
xxxApiClient _api ;
public JobsPage ()
{
InitializeComponent ()
SetItemSource();
}
private async Task SetItemSource()
{
JobListings.ItemsSource = await client.GetJobs();
}