我正在尝试将对象存储在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未被用户代码
处理提前致谢!
答案 0 :(得分:3)
这是完全正常的。你在哪里初始化listWorkers属性?在使用.Add方法之前,您需要创建一个新的列表实例,例如在App.xaml.cs构造函数中:
listWorkers = new List< Worker>();
答案 1 :(得分:3)
从您的代码中,您似乎忘记在使用它之前初始化列表:
listWorkers = new List<Worker>();
顺便说一下,这种异常很容易在调试模式下看到原因。