C# Firebase数据库删除不存在的侦听器ValueChanged-=?

C# Firebase数据库删除不存在的侦听器ValueChanged-=?,c#,unity3d,firebase-realtime-database,C#,Unity3d,Firebase Realtime Database,我正在将Firebase数据库集成到我的Unity项目中。我需要一个函数根据输入从不同的数据库引用中添加和删除ValueChanged listener。当调用移除侦听器的函数时,不能保证侦听器将就位。我想知道这会导致什么结果 FirebaseDatabase.DefaultInstance.GetReference("exampleChild").Child(currentUserID).ValueChanged -= HandleValueChanged; 底片叠起来,这样如果我稍后再调用

我正在将Firebase数据库集成到我的Unity项目中。我需要一个函数根据输入从不同的数据库引用中添加和删除ValueChanged listener。当调用移除侦听器的函数时,不能保证侦听器将就位。我想知道这会导致什么结果

FirebaseDatabase.DefaultInstance.GetReference("exampleChild").Child(currentUserID).ValueChanged -= HandleValueChanged;
底片叠起来,这样如果我稍后再调用它,什么都不会发生?如果没有要删除的值,是否忽略负片

FirebaseDatabase.DefaultInstance.GetReference("exampleChild").Child(currentUserID).ValueChanged -= HandleValueChanged;
FirebaseDatabase.DefaultInstance.GetReference("exampleChild").Child(currentUserID).ValueChanged += HandleValueChanged;
不,它们不堆叠

基本上,如果你尝试注销两次或两次以上,从第二次开始,没有任何异常发生

因此,代码的最后两行将导致HandValueChanged注册为ValueChanged,而不管它之前是否注册过