public virtual object Resolve(CreationContext context, ISubDependencyResolver contextHandlerResolver,
ComponentModel model, DependencyModel dependency)
{
Debug.Assert(CanResolve(context, contextHandlerResolver, model, dependency),
"CanResolve(context, contextHandlerResolver, model, dependency)");
var inlineArgument = additionalParameters[dependency.DependencyKey];
var targetType = dependency.TargetItemType;
if (inlineArgument != null)
{
if (converter != null &&
!targetType.IsInstanceOfType(inlineArgument) &&
dependency.DependencyType == DependencyType.Parameter)
{
return converter.PerformConversion(inlineArgument.ToString(), targetType);
}
return inlineArgument;
}
inlineArgument = additionalParameters[targetType];
if (inlineArgument != null &&
converter != null &&
!targetType.IsInstanceOfType(inlineArgument) &&
dependency.DependencyType == DependencyType.Parameter)
{
return converter.PerformConversion(inlineArgument.ToString(), targetType);
}
return inlineArgument;
}