コード例 #1
0
ファイル: HandlerGraph.cs プロジェクト: ldholmgren/jasper
        async Task IGeneratesCode.AttachPreBuiltTypes(GenerationRules rules, Assembly assembly, IServiceProvider services)
        {
            var typeSet = await TypeRepository.ForAssembly(assembly);

            var handlerTypes = typeSet.ClosedTypes.Concretes.Where(x => x.CanBeCastTo <MessageHandler>()).ToArray();

            var container = (IContainer)services;

            foreach (var chain in Chains)
            {
                var handler = chain.AttachPreBuiltHandler(rules, container, handlerTypes);
                if (handler != null)
                {
                    _handlers = _handlers.Update(chain.MessageType, handler);
                }
            }
        }