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

拥有一个只能从对象本身内部订阅的私人事件是否被认为是“良好的做法”?(WPF 窗口)?


另一种方法是在我调用事件的任何地方调用一个类似于 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

    }


慕村225694
浏览 249回答 1
1回答

湖上湖

拥有一个只能从对象本身内部订阅的私人事件是否被认为是“良好的做法”?不。定义一个私有事件只是为了能够通知(调用)一些私有方法并没有多大意义。那么你不妨直接调用这些方法,而不是引发事件。事件用于向外部世界发出动作发生的信号,事件发送者通常不知道哪个对象或方法将处理它引发的事件。
打开App,查看更多内容
随时随地看视频慕课网APP