You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information.
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace Microsoft.AspNet.SignalR
|
|
|
|
|
{
|
|
|
|
|
public static class DependencyResolverExtensions
|
|
|
|
|
{
|
|
|
|
|
public static T Resolve<T>(this IDependencyResolver resolver)
|
|
|
|
|
{
|
|
|
|
|
if (resolver == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("resolver");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return (T)resolver.GetService(typeof(T));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static object Resolve(this IDependencyResolver resolver, Type type)
|
|
|
|
|
{
|
|
|
|
|
if (resolver == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("resolver");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (type == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("type");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resolver.GetService(type);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static IEnumerable<T> ResolveAll<T>(this IDependencyResolver resolver)
|
|
|
|
|
{
|
|
|
|
|
if (resolver == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("resolver");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resolver.GetServices(typeof(T)).Cast<T>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static IEnumerable<object> ResolveAll(this IDependencyResolver resolver, Type type)
|
|
|
|
|
{
|
|
|
|
|
if (resolver == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("resolver");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (type == null)
|
|
|
|
|
{
|
|
|
|
|
throw new ArgumentNullException("type");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return resolver.GetServices(type);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|