0
使用Castle Windsor ISubDependencyResolver獲取參數名稱有一點問題。 我有類似下面的代碼,並在富的情況下,我想myBar.BarName是「Foo_myBar」Castle Windsor ISubDependencyResolver獲取參數名稱
Public Class Foo
{
private readonly IBar myBar;
Public Foo(IBar myBar){
this.myBar = myBar;
}
}
Public Class Bar: IBar
{
Public string BarName {get; private set;}
Public Bar(string barName){
BarName = barName;
}
}
public class BarNameResolver : ISubDependencyResolver
{
public bool CanResolve(CreationContext context,
ISubDependencyResolver contextHandlerResolver,
ComponentModel model,
DependencyModel dependency)
{
return context.RequestedType == typeof (IBar)
&& dependency.TargetType == typeof (string)
&& dependency.DependencyKey.Equals("barName");
}
public object Resolve(CreationContext context,
ISubDependencyResolver contextHandlerResolver,
ComponentModel model,
DependencyModel dependency)
{
return string.Format("{0}_{1}",
context.Handler.ComponentModel.Name,
**NameOfFooBarParameter**);
}
}
是的任何方式ISubDependencyResolver得到「myBar」?
我需要這個在不同配置的Foo中有多個IBar實例。