[英]How to use method data in a class constructor c# xamarin
我有一种从 API 获取数据的方法:
async Task WaterDataForecast()
{
WaterBindingData waterData = await _restServiceData.GetWaterDataForecast(GenerateRequestUri(Constants.EndPoint), GenerateRequestUriStations(Constants.EndPoint));
BindingContext = waterData;
var firstCity = waterData.WaterStation.Stations[0].NameEN;
}
我想使用waterData.WaterStation.Stations[0].NameEN;
或构造函数类中的firstCity
。
我的构造函数类:
public MainPage()
{
InitializeComponent();
_restServiceData = new RestServiceData();
_ = WaterDataForecast();
CustomPin pin1 = new CustomPin
{
Type = PinType.Place,
Position = new Position(41.59043006333251, 24.766286971618303),
Name = "Xamarin",
Label = "р. Бяла",
Address = "гр. Смолян",
CodeNum = 1,
AlertLevel = 2
};
CustomPin pin2 = new CustomPin
{
Type = PinType.Place,
Position = new Position(41.56817473054596, 24.758451447799708),
Label = "р. Черна",
Name = "Xamarin",
Address = "гр. Смолян",
CodeNum = 2,
AlertLevel = 2
};
customMap.CustomPins = new List<CustomPin> {
pin1,
pin2,
};
customMap.Pins.Add(pin1);
customMap.Pins.Add(pin2);
customMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(41.567797926753485, 25.389703182725665), Distance.FromKilometers(70)));
DatabaseConnection(customMap.CustomPins);
}
我想在pin1
标签字段上设置firstCity
吗?
我可以得到如何做的例子吗?
我初始化 _ = WaterDataForecast(); 在构造函数中,但如何获取 waterData.WaterStation.Stations[0].NameEN 并在 pin 中的标签上设置?
您可以调用该方法WaterDataForecast
不迟于初始化CustomPin
,并通过CustomPin
作为参数传递给方法,更新任务内侧的标签。
public MainPage(){
CustomPin pin1 = new CustomPin
{
Type = PinType.Place,
Position = new Position(41.59043006333251, 24.766286971618303),
Name = "Xamarin",
Address = "гр. Смолян",
CodeNum = 1,
AlertLevel = 2
};
WaterDataForecast(pin1);
}
async void WaterDataForecast(CustomPin pin)
{
WaterBindingData waterData = await _restServiceData.GetWaterDataForecast(GenerateRequestUri(Constants.EndPoint), GenerateRequestUriStations(Constants.EndPoint));
MainThread.BeginInvokeOnMainThread(() =>
{
pin.Label = waterData.WaterStation.Stations[0].NameEN;
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.