Хей,Xamarin.Forms DependencyService всегда возвращает нулевое
им пытаются загрузить некоторые данные из родного проекта IOS с помощью Dependency службы.
Его простая задача, пытающаяся десриализовать некоторые данные, которые я сохранил ранее, но независимо от того, что я делаю это всегда возвращает null.
Если я проверяю значения с помощью отладчика в проекте iOS, они никогда не имеют значения null. Очень странно, может быть IM-то отсутствует ...
Моя Реализация интерфейса:
[assembly: Xamarin.Forms.Dependency(typeof(SaveRead))]
namespace LindeXF.iOS {
public class SaveRead : ISaveRead {
public async Task<ApplicationModel> LoadApplicationModel(string userName) {
try {
var userPath = CreatePathJson(userName);
if (File.Exists(userPath)) {
await Task.Run(() => {
using (var file = File.OpenText(userPath)) {
var serializer = new JsonSerializer();
var m = (ApplicationModel) serializer.Deserialize(file, typeof(ApplicationModel));
}
});
}
}
catch (Exception ex) {
throw new Exception(ex, "LoadApplicationModel()");
}
return new ApplicationModel {Username = userName};
}
}
в портативном проекте
DependencyService = Xamarin.Forms.DependencyService.Get<ISaveRead>();
var s = await ApplicationModel.DependencyService.LoadApplication(userName);
спасибо за ваше время.
Спасибо за ваш ответ, но это моя вина, я скопировал неправильные функции в StackOverflow. Я так называю :) Я называю это правильным ive проверял все 100 раз :) –
ahhh okay ... Я думаю, что его coz ожидающей задачи вы работаете внутри ... вы отлаживаете с помощью точек останова? , если да, то вы получаете значение coz, которое вы даете временной задержке для выполнения задачи. –