当前位置:   C++ > 正文

确保在IsAlive之后仍然存在Weakreference

c#,weak-references,isalive,安全,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

如果我遍历一个Weakreferences 列表,我怎么能确定,在证明后通过引用仍然存在_ref.IsAlive

例如,我有这段代码,其中scopeReferences是一个Weakreferences:

foreach (var _ref in scopeReferences)
{
    if (_ref.IsAlive)
    {
        if (_ref.Target is ScriptScope)
        {
            // Is it alive any more?
            ((ScriptScope)_ref.Target).SetVariable(name, value);
        }
    }
}

也许有人知道答案,我只是不想因为事实而产生任何问题,我不知道这部分发生了什么.非常感谢你们!



1> adv12..:

您可以将其复制到变量中,之后您可以将其复制或不使用它,并且可以安全地测试它:

foreach (var _ref in scopeReferences)
{
    ScriptScope tmp = _ref.Target as ScriptScope;
    if (tmp != null)
    {
        tmp.SetVariable(name, value);
    }
}


在C#6中,这是一个单行:`(_ref.Target as ScriptScope)?. SetVariable(name,value)`.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/CPP/detail/13860
推荐阅读
相关标签
  

闽ICP备14008679号