使用app.xaml.cs中的T列表的System.NullReferenceException

时间:2014-03-27 15:01:46

标签: windows-phone-8

我正在尝试将对象存储在T列表中,以便将该列表与我的Windows Phone 8应用程序中的所有页面一起使用。

这是我在App.xaml.cs中的列表:

  public partial class App : Application
    {
        public List<Worker> listWorkers { get; set; }

        /// <summary>
        /// Provides easy access to the root frame of the Phone Application.
        /// </summary>
        /// <returns>The root frame of the Phone Application.</returns>
        public static PhoneApplicationFrame RootFrame { get; private set; }

这是我背后的代码:

private void buttonGo_Click(object sender, RoutedEventArgs e)
    {
        (App.Current as App).listWorkers.Add(new Worker { Name = "Test", Age = 15 });
        textBlockOutput.Text = (App.Current as App).listWorkers.Count.ToString();
    }

这是我的工人阶级:

public class Worker
{
    public string Name { get; set; }
    public int Age { get; set; }
}

例外是: System.NullReferenceException未被用户代码

处理

提前致谢!

2 个答案:

答案 0 :(得分:3)

这是完全正常的。你在哪里初始化listWorkers属性?在使用.Add方法之前,您需要创建一个新的列表实例,例如在App.xaml.cs构造函数中: listWorkers = new List< Worker>();

答案 1 :(得分:3)

从您的代码中,您似乎忘记在使用它之前初始化列表:

listWorkers = new List<Worker>();

顺便说一下,这种异常很容易在调试模式下看到原因。