파서 내부에 팩토리 메소드가 있습니다. 기본적으로 토큰을로드 할 때 해당 토큰에 대한 처리기를 찾거나 기본 처리기로 이동합니다. 나는 이것을 switch
과 Dictionary<string,Type>
으로 구현했지만 두 접근법 모두 처리기 클래스가 아닌 다른 곳에 매핑을 저장해야합니다. 우리는 IOC에 대한 Ninject에를 사용하고 그래서 내가 또한Ninject IOC를 사용하여 공장 교체하기
kernel.Get<ITokenHandler>(tokenName);
를 사용 할 수 깨달았다하지만 그 2 곳에서 처리 할 수있는 핸들러를 토큰 무엇인지에 대한 정보를 저장하는 저를 저장하지 않습니다
. 이 핸들러를 장식 할 수있는 방법이있어서 자동 매핑이 가능합니까?
조금 늦어서 여기로 돌아 왔습니다. 내가 실제로했던 것은 ITokenHandler concrete 클래스를 마크 업하여 Handler가 선언 된 바인딩을 정의 할 수있는 방법이었다. 나는 이제 당신의 예제를 따라 간다. 바인딩의 모든 bar 1은 패턴이다 :>(). Bind (). Named (tokenName); –
baralong