C#观察者的超简单的例子/观察到与代表 [英] Super-simple example of C# observer/observable with delegates

查看:117
本文介绍了C#观察者的超简单的例子/观察到与代表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

最近,我开始挖掘到C#,但我不能用我的生命弄清楚如何落实代表在语言观察者/可观察模式时工作。

I recently started digging into C# but I can't by my life figure out how delegates work when implementing the observer/observable pattern in the language.

可能有人给我它是如何做一个超级简单的例子?我的有无的GOOGLE了这一点,但所有我发现的例子是不是太问题的具体或过于臃肿。

Could someone give me a super-simple example of how it is done? I have googled this, but all of the examples I found were either too problem-specific or too "bloated".

推荐答案

观察者模式通常与事件实现

下面是一个例子:

using System;

class Observable
{
    public event EventHandler SomethingHappened;

    public void DoSomething()
    {
        EventHandler handler = SomethingHappened;
        if (handler != null)
        {
            handler(this, EventArgs.Empty);
        }
    }
}

class Observer
{
    public void HandleEvent(object sender, EventArgs args)
    {
        Console.WriteLine("Something happened to " + sender);
    }
}

class Test
{
    static void Main()
    {
        Observable observable = new Observable();
        Observer observer = new Observer();
        observable.SomethingHappened += observer.HandleEvent;

        observable.DoSomething();
    }
}

请参阅链接的文章有更详细。

See the linked article for a lot more detail.

这篇关于C#观察者的超简单的例子/观察到与代表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆