本文整理汇总了C#中IPresenter.Initialize方法的典型用法代码示例。如果您正苦于以下问题:C# IPresenter.Initialize方法的具体用法?C# IPresenter.Initialize怎么用?C# IPresenter.Initialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPresenter
的用法示例。
在下文中一共展示了IPresenter.Initialize方法的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();
}
示例2: EnsurePresenter
private IPresenter EnsurePresenter(IPresenter presenter)
{
int index = _presenters.IndexOf(presenter);
if (index == -1)
_presenters.Add(presenter);
else presenter = _presenters[index];
var node = presenter as IPresenterNode;
if (node != null) node.Parent = this;
if (IsInitialized)
presenter.Initialize();
return presenter;
}