良好实践 - C# 中的私有事件与私有方法

Good practise - private event vs private method in C#

是否认为 "good practise" 有一个只能从对象本身订阅的私有事件? (一个 WPF-Window)?

替代方法是在我调用事件的任何地方调用类似于 EventHandler 委托的方法。

事件看起来像这样:

    private delegate void ZoomScaleChangedEventhandler(object sender, EventArgs e);

    private event ZoomScaleChangedEventhandler ZoomScaleChanged;

    ...        
    this.ZoomScaleChanded += this.ZoomScaleChangedHandler;
    ...

    private void someMethod()
    {
        // Change zoom scale
        this.ZoomScaleChanged?.Invoke(this, EventArgs.Empty);
    }

    private void ZoomScaleChangedHandler(object sender, EventArgs e)
    {
        // Do stuff
    }

用这样的方法:

    private void someMethod()
    {
        // Change zoom scale
        this.ZoomScaleChanged();
    }

    private void ZoomScaleChanged()
    {
        // Do stuff
    }

Is it considered "good practise" to have a private event that will only be subscribed to from within the Object itself?

没有。仅仅为了能够通知(调用)一些私有方法而定义私有事件意义不大。那么你不妨直接调用这些方法而不是引发事件。

事件用于向外界发出动作发生的信号,事件发送者通常不知道哪个对象或方法将处理它引发的事件。