Esempio n. 1
0
        private static string GetMappingAsString(ContainerRegistration registration)
        {
            // code from https://msdn.microsoft.com/en-us/library/dn178463(v=pandp.30).aspx

            var registeredType     = registration.RegisteredType;
            var registeredTypeName = registeredType.Name + UnityExtensions.GetGenericArgumentsList(registeredType);

            var mappedToType  = registration.MappedToType;
            var mapToTypeName = mappedToType.Name + UnityExtensions.GetGenericArgumentsList(mappedToType);

            var registrationName = registration.Name ?? "[default]";

            var lifetime = registration.LifetimeManagerType.Name;

            if (mapToTypeName != registeredTypeName)
            {
                mapToTypeName = $" -> {mapToTypeName}";
            }
            else
            {
                mapToTypeName = string.Empty;
            }

            return($"+ {registeredTypeName}{mapToTypeName}  '{registrationName}'  {lifetime}");
        }
Esempio n. 2
0
        public static string GetMappingAsString(this IUnityContainer unityContainer)
        {
            // code from https://msdn.microsoft.com/en-us/library/dn178463(v=pandp.30).aspx

            var stringBuilder = new StringBuilder();

            stringBuilder.AppendLine($"Container has {unityContainer.Registrations.Count()} Registrations:");
            foreach (ContainerRegistration registration in unityContainer.Registrations)
            {
                stringBuilder.AppendLine(UnityExtensions.GetMappingAsString(registration));
            }

            return(stringBuilder.ToString());
        }
Esempio n. 3
0
        private static string GetGenericArgumentsList(Type type)
        {
            // code from https://msdn.microsoft.com/en-us/library/dn178463(v=pandp.30).aspx

            if (type.GetGenericArguments().Length == 0)
            {
                return(string.Empty);
            }

            var arglist = string.Empty;
            var first   = true;

            foreach (Type genericArgumentType in type.GetGenericArguments())
            {
                arglist += first ? genericArgumentType.Name : $", {genericArgumentType.Name}";
                first    = false;

                if (genericArgumentType.GetGenericArguments().Length > 0)
                {
                    arglist += UnityExtensions.GetGenericArgumentsList(genericArgumentType);
                }
            }
            return($"<{arglist}>");
        }