3. Consider the following code snippet:
public class MyEventArgs : EventArgs { public int Number { get; set; } }
public class Publisher {
public event EventHandler<MyEventArgs> OnNumberChanged;
public void ChangeNumber(int num) {
OnNumberChanged?.Invoke(this, new MyEventArgs { Number = num });
}
}
public class Subscriber {
public void Subscribe(Publisher pub) {
pub.OnNumberChanged += HandleNumberChanged;
}
private void HandleNumberChanged(object sender, MyEventArgs e) {
Console.WriteLine($"Number is {e.Number}");
}
}
// Main method
var pub = new Publisher();
var sub = new Subscriber();
sub.Subscribe(pub);
pub.ChangeNumber(42);What will be the output when this code runs?