【问题标题】:How to declare weak delegate (C#)?如何声明弱委托(C#)?
【发布时间】:2015-07-18 17:13:53
【问题描述】:

我将使用 weak delegates 来监听一些事件。主要是为了不用担心一直退订。

如果我是对的,使用强引用(默认)委托不会让订阅者对象从内存中释放,这是我想避免的。

但我不确定如何使用 UnityEngine 和 Unity 3D 中的 .Net 2.0 子集声明弱委托。我应该以某种方式使用WeakReference 类吗?

【问题讨论】:

  • codeproject.com/Articles/29922/Weak-Events-in-C 我理解它是一个场外资源,但它是 Sharp Develop 的一位开发人员的好读物
  • 谢谢,似乎很有帮助!
  • 您通常不必担心退订。仅在非常特殊的情况下。
  • 它在各处留下未引用/泄漏的对象。他们仍在做他们的工作,但他们不应该,他们应该离开,但事件不允许他们。

标签: c# unity3d delegates weak-references


【解决方案1】:

对于任何需要在 .NET 3.5 for Unity 中使用 ConditionalWeakTable 或 WeakReference 的人,这里有一个向后移植:https://github.com/theraot/Theraot/wiki/Features

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2011-03-12
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多