title: Why do I get a "Object reference not set to an instance of an object" on my custom OnLoaded event?
body: <p>What do I have to do to get this code work?</p>
  
  <p>I simply want the class to throw an event when it is finished loading and the consuming class to react to it.</p>
  
  <p>It gets an error on OnLoaded saying it is null.</p>
  
  <pre><code>using System;
  using System.Windows;
  
  namespace TestEventLoaded8282
  {
      public partial class Window1 : Window
      {
          public Window1()
          {
              InitializeComponent();
  
              FileManager fm = new FileManager();
              fm.OnLoaded += new FileManager.LoadedHandler(fm_OnLoaded);
          }
  
          void fm_OnLoaded(object obj, FileManagerArgs args)
          {
              Console.WriteLine("the file manager is loaded: " + args.Message); 
          }
      }
  
      public class FileManager
      {
          public string Name { get; set; }
  
          public delegate void LoadedHandler(object obj, FileManagerArgs args);
          public event LoadedHandler OnLoaded;
  
          public FileManager()
          {
              Name = "this is the test file manager";
              OnLoaded(this, new FileManagerArgs("no errors"));
          }
      }
  
      public class FileManagerArgs : EventArgs
      {
          public string Message { get; set; }
  
          public FileManagerArgs(string message)
          {
              Message = message;
          }
      }
  }
  </code></pre>