为什么我无法从我的应用程序中的其他类访问App.xaml.cs?

时间:2014-11-27 18:28:16

标签: c# windows-store-apps bing-maps sealed app.xaml

我试图以这种方式在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”无法识别?发生这些错误的类位于同一名称空间中。为什么它不会看到应用程序实例?

1 个答案:

答案 0 :(得分:1)

看起来像语法错误。有一个&#39;)&#39;太多了:

  

addrElements [国家])

这&#39;)&#39;应该删除。