Ich habe 3 klassen in C# die voneinander erben.
BasicNode
Node : BasicNode
VariableNode : Node
Wenn ich in Node einen Event Handler definiere, gilt der dann auch für VariableNode? Ich habe das in Node.
public virtual string Value
{
get { return base.Value; }
set {
base.Value = value;
OnValueChanged(Value);
}
}
protected virtual void OnValueChanged(string newValue)
{
ValueChanged?.Invoke(newValue);
}
public event Action<string> ValueChanged;
Aber wenn ich versuche das event zu subscriben wird es nicht ausgeführt.
private void MenuItemNewVariableNode_Click(object sender, EventArgs e)
{
VariableNode variableNode = new VariableNode();
variableNode.ValueChanged += VariableNode_ValueChanged;
VisualScript.Manager.Instance.nodes.Add(new VariableNode());
canvasPanel.Invalidate();
}
private void VariableNode_ValueChanged(string obj)
{
Console.WriteLine("ZThe value has changed");
MessageBox.Show("The value of the variable changed!");
}