private static ViewComponentCandidate CreateCandidate(TypeInfo typeInfo)
        {
            var candidate = new ViewComponentCandidate()
            {
                FullName  = ViewComponentConventions.GetComponentFullName(typeInfo),
                ShortName = ViewComponentConventions.GetComponentName(typeInfo),
                Type      = typeInfo.AsType(),
            };

            Debug.Assert(!string.IsNullOrEmpty(candidate.FullName));
            var separatorIndex = candidate.FullName.LastIndexOf(".");

            if (separatorIndex >= 0)
            {
                candidate.ShortName = candidate.FullName.Substring(separatorIndex + 1);
            }
            else
            {
                candidate.ShortName = candidate.FullName;
            }

            return(candidate);
        }