ComponentDependencyRegistrationExtensions
using Castle.Core;
using System;
using System.Collections;
using System.ComponentModel;
namespace Castle.MicroKernel.Registration
{
[EditorBrowsable(EditorBrowsableState.Never)]
public static class ComponentDependencyRegistrationExtensions
{
public static IDictionary Insert(this IDictionary arguments, string key, object value)
{
arguments[key] = value;
return arguments;
}
public static IDictionary Insert(this IDictionary arguments, Type dependencyType, object value)
{
arguments[dependencyType] = value;
return arguments;
}
public static IDictionary InsertAnonymous(this IDictionary arguments, object namedArgumentsAsAnonymousType)
{
foreach (DictionaryEntry item in new ReflectionBasedDictionaryAdapter(namedArgumentsAsAnonymousType)) {
arguments[item.Key] = item.Value;
}
return arguments;
}
public static IDictionary InsertTyped<TDependencyType>(this IDictionary arguments, TDependencyType value)
{
arguments[typeof(TDependencyType)] = value;
return arguments;
}
public static IDictionary InsertTypedCollection(this IDictionary arguments, object[] typedArgumentsArray)
{
foreach (object obj in typedArgumentsArray) {
arguments[obj.GetType()] = obj;
}
return arguments;
}
}
}