0
다음 예제는 Ninject를 사용하기 위해 다시 작성된 것처럼 보입니까?어떻게 이것을 ninject를 사용하여 다시 작성할 수 있습니까?
특히 Shuriken과 Sword 모두 사무라이를 묶는 방법은 무엇입니까?
interface IWeapon
{
void Hit(string target);
}
class Sword : IWeapon
{
public void Hit(string target)
{
Console.WriteLine("Chopped {0} clean in half", target);
}
}
class Shuriken : IWeapon
{
public void Hit(string target)
{
Console.WriteLine("Pierced {0}'s armor", target);
}
}
class Program
{
public static void Main()
{
var warrior1 = new Samurai(new Shuriken());
var warrior2 = new Samurai(new Sword());
warrior1.Attack("the evildoers");
warrior2.Attack("the evildoers");
/* Output...
* Piereced the evildoers armor.
* Chopped the evildoers clean in half.
*/
}
}
계속 읽기 ... https://github.com/ninject/ninject/wiki/Dependency-Injection-With-Ninject – scottm
요점은 - 나는 예제에서 전사 용 슈리 켄과 # 2에 대한 검 – Ryan
두 구현체를 모두 'IWeapon'에 바인드하고 둘 다 독립적으로 해결할 수 없으며 컨테이너를 다른 컨테이너로 선택하라는 메시지는 없습니다. 다음은 분명히 해결할 필요가있는 것을 설명 할 수있는 "극심한 세부적인"예입니다. https://github.com/ninject/ninject/wiki/Contextual-Binding – scottm