I'm trying to raisn an event using threadPool in c#.
Problem is, that it points out to me that the Event points to NULL.

```
public class ClientView : IView<string>
{
    event Presenter.func ViewChanged; }
event Presenter.func IView<string>.ViewChanged
    {  add{}            
       remove{} }
     public void ClientConnection()
    {
        while (true) 
        {

            int recv = Client.Receive(data);
            if (recv == 0) break;
            userInput = Encoding.ASCII.GetString(data, 0, recv);
            ViewChanged();   //here it crashes because it's null
        }
        Client.Close();
    }

class Presenter {
      private IView<string> view;
      public delegate void func();
      public Presenter(IView<string> view)
    {
        this.options = new Dictionary<string, ICommandable>();
        options.Add("generate", new Option1());
        this.view = view; 

        this.view.ViewChanged += delegate ()
        {
            string[] input = view.GetUserInput().Split(' ');
            ThreadPool.QueueUserWorkItem(options[input[0]].execute, input);
        }; }

```

I do not understand why the program crashes. my event ViewChanged does not point to NULL because I added the delegates to it.. no?