如何声明弱委托(C#)?

Ger*_*eri 5 c# delegates weak-references unity-game-engine

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

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

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

Pat*_*olf 2

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