1
我試圖從服務器獲取數據,並使用MessageCenter
獲取數據,並使用MessageCenter
var content = await response.Content.ReadAsStringAsync();
Response responseData = JsonConvert.DeserializeObject<Response>(content);
if(responseData!=null)
MessagingCenter.Send<RestApi, Response>(this, GET_DATA, responseData);
else
MessagingCenter.Send<RestApi, Response>(this, GET_DATA, responseData);
和MainPage
我已經訂閱在如下
xamarin form
頁面發送回頁
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
MessagingCenter.Subscribe<MainPage, Response>(this, RestApi.GET_DATA, (sender, arg) => {
Debug.WriteLine("Count of data {0}", arg.data.Count);
});
RestApi restApi = new RestApi();
restApi.getData();
}
}
但我從來沒有控制達到Debug.WriteLine("Count of data {0}", arg.data.Count);
喔肯定。我可以使用接口作爲TSender,所以在未來,如果我的類名從RestApi改爲WebApi,我不必在任何地方改變它,只需一個想法 – Hunt
@Hunt接口工作,我一直這樣做'MessagingCenter.Subscribe( ....)'&'MessagingCenter.Send (....)'帶有「空」接口。當然,確保你傳入的'TSender'實際上實現了那個空接口;-) –
SushiHangover