本文整理汇总了C#中IScope.GetService方法的典型用法代码示例。如果您正苦于以下问题:C# IScope.GetService方法的具体用法?C# IScope.GetService怎么用?C# IScope.GetService使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IScope
的用法示例。
在下文中一共展示了IScope.GetService方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetScopeService
/// <summary>
/// Returns scope service by service type.
/// </summary>
/// <param name="scope">The scope service belongs to.</param>
/// <param name="type">Service type.</param>
/// <param name="checkHandler">Indicates whether to check the scope's handler for the requested service.</param>
/// <returns>Service object.</returns>
public static object GetScopeService(IScope scope, Type type, bool checkHandler)
{
if (scope == null || type == null)
return null;
object service = scope.GetService(type);
if (service != null)
return service;
if (checkHandler)
{
IScope current = scope;
while (current != null)
{
IScopeHandler scopeHandler = current.Handler;
if (type.IsInstanceOfType(scopeHandler))
{
service = scopeHandler;
break;
}
if (!current.HasParent)
break;
current = current.Parent;
}
}
return service;
}