コード例 #1
0
        static void RenderInjectionInfo(Type type, IDictionary <Type, string> typeVarMap, List <string> assignmentBuilder,
                                        List <string> cleanupBuilder,
                                        List <string> postInjectionBuilder, int indent)
        {
            var instanceName = typeVarMap[type];
            var info         = InfoParser.Parse(type, BindingFlags.SetField, InjectorFlags.None);

            RenderInjections(typeVarMap, assignmentBuilder, info, instanceName, indent);
            RenderCleanups(cleanupBuilder, info, instanceName, indent);
            RenderPostInjections(postInjectionBuilder, info, instanceName, indent);
        }
コード例 #2
0
        private InjectionInfo RetrieveInfo(Type type, BindingFlags bindingFlags, InjectorFlags injectorFlag)
        {
            InjectionInfo info;

            if (!infoMap.TryGetValue(type, out info))
            {
                infoMap[type] = info = InfoParser.Parse(type, bindingFlags, injectorFlag);
            }

            return(info);
        }