我试图以这种方式在App.xaml.cs中声明一个全局变量:
sealed partial class App : Application
{
public static string SessionKey { get; set; }
. . .
我在MainPage.xaml.cs中向地图添加了一个“已加载”事件:
<bm:Map x:Name="galaxyMap" Credentials="ImpeccableOrPerhapsALittleBitPeccable"
Margin="0,0,0,0" MapType="Birdseye" Loaded="galaxyMap_OnLoaded" >
...哪个事件获取会话密钥,将其分配给全局变量:
async private void galaxyMap_OnLoaded(object sender, RoutedEventArgs args)
{
try
{
App.SessionKey = await visitsMap.GetSessionIdAsync();
}
catch { }
}
但是,当我在进行REST调用时尝试访问该值时:
String httpqry = String.Format(
"http://dev.virtualearth.net/REST/v1/Locations?addressLine={0}&locality={1}&postalCode=
{2}&adminDistrict={3}&countryRegion={4}&key={5}",
addrElements[STREET_ADDRESS], addrElements[LOCALITY], addrElements[POSTAL_CODE],
addrElements[ST8_PROVINCE], addrElements[COUNTRY]),
App.SessionKey)
...我得到一个红色的“SessionKey”,在“App”和“SessionKey”之间的点上,它说“无效的表达术语'。'”
- 和:“;期望”在同一个地方,并且“无效的表达式术语”)'“在”)“的调用结束时的String.Format()。
为什么“App”无法识别?发生这些错误的类位于同一名称空间中。为什么它不会看到应用程序实例?
答案 0 :(得分:1)
看起来像语法错误。有一个&#39;)&#39;太多了:
addrElements [国家])
这&#39;)&#39;应该删除。