我在解析器中有一个工厂方法。本质上,当我加载一个令牌时,我会查找该令牌的处理程序,或者直接转到默认处理程序。我已将其实现为 aswitch
和 a ,Dictionary<string,Type>
但两种方法都要求我将映射存储在处理程序类之外的其他位置。
我们正在为 IOC 使用 Ninject,所以我意识到我也可以使用
kernel.Get<ITokenHandler>(tokenName);
但这并不能节省我存储有关处理程序可以在 2 个位置处理的令牌的信息。有没有办法可以装饰处理程序,以便自动映射?