The implementation of
for WinRT doesn't work, since the target‘s hard reference is kept by the member
object itself. as follow code:
public WeakAction(object target, Action action)
if (target != null)
_reference = new WeakReference(target);
_action = action; // The hard reference of target still exsits.
This issue has been spread to
that uses the
It's easy to reproduce this issue. In winrt app, you can make a cycle reference though a lambda with 'this' as target and use
to replace with
. you will find it really doesn't work.
I didn't test the
class, but according the same implementation, it maybe have the same issue.