Я не могу получить доступ к членам в этом недокументированном классе: BingMapsRESTToolkit.Response
Код в разных местах (например) Bing Maps REST Services Toolkit - Значение доступа за пределами делегата похоже копирует нерабочий пример из MSDN.
Например, этот метод не имеет доступа к массиву привязанных координат, содержащемуся в объекте Response. Строка, в которой rez назначается на приведение ответа, дает нам нулевое значение.
private List<Coordinate> MapSnaps(List<Coordinate> coordinates)
{
// Build our request object
var req = new SnapToRoadRequest();
req.BingMapsKey = _sessionKey;
req.UserRegion = "US";
req.SpeedUnit = SpeedUnitType.MPH;
req.TravelMode = TravelModeType.Driving;
req.Points = coordinates;
var response = req.Execute().GetAwaiter().GetResult();
if(response != null &&
response.ResourceSets != null &&
response.ResourceSets.Length > 0 &&
response.ResourceSets[0].Resources != null &&
response.ResourceSets[0].Resources.Length > 0)
{
// rez gets nothing, results in null because the two objects are nothing alike
var rez = response.ResourceSets[0].Resources[0] as BingMapsRESTToolkit.Location;
// Snaps has 69 SnappedPoint items, but the member as shown in the debug window
// SnappedPoints under snaps cant be accessed in code - just in debugger
var snaps = response.ResourceSets[0].Resources[0]; //
Console.WriteLine("-.-"); // <-- breakpoint here
}
// TODO: Once we get this response snafu sorted, convert and return
// matching list of road-snapped coordinates to caller...
return ConvertToCoords(response);
}
Когда я отлаживаю с помощью Visual Studio 2019, это ясно показывает, что есть 69 значений SnappedPoint, ожидающих использования в response.ResourceSet [0] .Resources [0] - но я не могу получить им. Вот что показывает отладчик:
snaps BingMapsRESTToolkit.SnappedPoint [69]
SnappedPoints BingMapsRESTToolkit.SnappedPoint[69]
BoundingBox null
Type null
Each member of the SnappedPoints array contains:
Coordinate {Lat:double, Lon:double}
Index int
Name String for name of road
SpeedLimit double?
TruckSpeedLimit double?
Trying: snaps.SnappedPoints [x] не работает как член не существует. Оба BoundingBox и Type доступны и имеют нулевое значение, но я не вижу способа доступа к содержимому SnappedPoints. Там нет intellisense и ручной ввод имени члена только приводит к ошибкам.
WTH, что я здесь не так делаю?