当前位置: 首页>>代码示例>>C#>>正文


C# IPresenter.Equals方法代码示例

本文整理汇总了C#中IPresenter.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# IPresenter.Equals方法的具体用法?C# IPresenter.Equals怎么用?C# IPresenter.Equals使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IPresenter的用法示例。


在下文中一共展示了IPresenter.Equals方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Open

        /// <summary>
        /// Opens the specified presenter.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="completed">Called when the open action is finished.</param>
        public virtual void Open(IPresenter presenter, Action<bool> completed)
        {
            if (presenter == null)
            {
                completed(false);
                return;
            }

            if (presenter.Equals(_currentPresenter))
            {
                completed(true);
                return;
            }

            Action successfulCompletion =
                () =>
                {
                    var node = presenter as IPresenterNode;
                    if (node != null) node.Parent = this;

                    if (IsInitialized)
                        presenter.Initialize();

                    if (IsActive)
                        presenter.Activate();

                    ChangeCurrentPresenterCore(presenter);

                    completed(true);
                };

            if (_currentPresenter != null)
            {
                CanShutdownPresenter(
                    _currentPresenter,
                    isSuccess =>
                    {
                        if (!isSuccess)
                        {
                            completed(false);
                            return;
                        }

                        _currentPresenter.Deactivate();
                        _currentPresenter.Shutdown();

                        var node = _currentPresenter as IPresenterNode;
                        if (node != null) node.Parent = null;

                        successfulCompletion();
                    });
            }
            else successfulCompletion();
        }
开发者ID:Mrding,项目名称:Ribbon,代码行数:59,代码来源:PresenterManager.cs

示例2: Open

        /// <summary>
        /// Opens the specified presenter.
        /// </summary>
        /// <param name="presenter">The presenter.</param>
        /// <param name="completed">Called when the open action is finished.</param>
        public virtual void Open(IPresenter presenter, Action<bool> completed)
        {
            if (presenter == null)
            {
                completed(false);
                return;
            }

            if (presenter.Equals(_currentPresenter))
            {
                completed(true);
                return;
            }

            if (_currentPresenter != null)
                _currentPresenter.Deactivate();

            presenter = EnsurePresenter(presenter);

            if (IsActive)
                presenter.Activate();

            ChangeCurrentPresenterCore(presenter);

            completed(true);
        }
开发者ID:Mrding,项目名称:Ribbon,代码行数:31,代码来源:MultiPresenterManager.cs


注:本文中的IPresenter.Equals方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。