3
我正在嘗試使用ninjects上下文綁定功能根據傳遞給方法的枚舉參數的值綁定到接口的正確實現,並且卡住了。我認爲我可以使用元數據完成此操作。這是我嘗試過的,而且沒有工作。基於方法參數值的Ninject上下文綁定
enum Colors
{
Red,
Blue
}
public interface IColor
{}
public class Red : IColor
{}
public class Blue : IColor
{}
class Test
{
private readonly StandardKernel _kernal;
public Test()
{
_kernal = new StandardKernel();
_kernal.Bind<IColor>().To<Red>().WithMetadata("color", Colors.Red);
_kernal.Bind<IColor>().To<Blue>().WithMetadata("color", Colors.Blue);
}
public void TestMethod(Colors color)
{
IColor iColor = _kernal.Get<IColor>(m => m.Get<Colors>("color") == color);
}
}
有什麼想法?謝謝
這是爲我工作。那麼究竟是什麼問題? –
確實,請解釋發生了什麼。它拋出異常嗎? –
投票結束,因爲這個問題目前的形式是無法回答的,而且OP沒有任何迴應。 – Aaronaught