【问题标题】:How to remove all listeners from Firebase in C#?如何在 C# 中从 Firebase 中删除所有侦听器?
【发布时间】:2017-05-27 11:59:07
【问题描述】:

在我的项目中,我设置了相当多的侦听器来侦听实时数据库中的任何更改。出于某种原因,即使我使用

重新加载场景,这些听众也会留下来
Application.LoadLevel("mainScene");

使用单独删除每个侦听器会很麻烦

FirebaseDatabase.DefaultInstance
    .RootReference
    .Child("sub path 1")
    .Child("sub path 2")
    .ValueChanged -= SomeFunction;

FirebaseDatabase.DefaultInstance
    .RootReference
    .Child("path")
    .ValueChanged -= AnotherFunction;

有没有办法从所有路径中删除侦听器?

【问题讨论】:

    标签: c# firebase firebase-realtime-database


    【解决方案1】:

    在大多数平台上,Firebase SDK 都会调用从某个位置移除所有处理程序。但是从快速扫描来看,Unity SDK 中似乎没有这种方法。如果可能值得filing a feature request

    请注意,即使 C# 中存在这样的方法,您仍然需要在代码使用的每个 DatabaseReference 上调用它。

    【讨论】:

    • C# 有办法做到这一点,请参阅stackoverflow.com/questions/36084469/…
    • 谢谢斯图尔特!我将把它作为该问题的副本关闭。
    • 不幸的是,在与 Ben 聊天后,我们无法在课堂外进行此操作。因此,听起来我们需要添加一些放弃事件处理程序的方法作为 API 的一部分。不幸的是,我们仍然需要弄清楚这一点。
    • 好的,我重新打开了这个问题。我原来的答案是正确的。 :-)
    猜你喜欢
    • 2014-02-27
    • 2012-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 2019-01-24
    • 2010-11-29
    • 1970-01-01
    相关资源
    最近更新 更多