This is my code:
using System.IO;
using System;
public class MyClass1{
event Action _myEvent;
public MyClass1(){
var m = new MyClass2(_myEvent);
_myEvent();
}
}
public class MyClass2{
public MyClass2(Action _event){
_event += MyFunction;
}
void MyFunction(){
Console.WriteLine("Hi");
}
}
class Program
{
static void Main()
{
var m = new MyClass1();
}
}
It seems MyClass2 is not registering to the passed argument _myEvent. Invoking _myEvent causes a NullReferenceException even though MyClass2 should be subscribed. If I make _myEvent public and let MyClass2 register to it directly without using the event argument passed to it, it works fine.