/// <inheritdoc/> internal override string GetDisplayName(bool fullyQualify, bool includeGenericInfo, GenericTypeArgumentCollection genericArguments) { if (IsNullable(out TypeData underlyingType)) { return(underlyingType.GetDisplayName(fullyQualify: false, includeGenericInfo: includeGenericInfo) + '?'); } var genericArgumentsResolved = genericArguments ?? GenericArguments; var rootName = GenericTypeDefinition.GetDisplayName(fullyQualify: false, includeGenericInfo: false); if (includeGenericInfo) { var parentGenericArgumentCount = ContainingType == null ? 0 : ContainingType.GenericArity; rootName += genericArgumentsResolved.GetGenericArgumentListDisplayText(includeGenericInfo, parentGenericArgumentCount, GenericArguments.Count - parentGenericArgumentCount); } return(PostProcessUnqualifiedName(rootName, fullyQualify, includeGenericInfo, genericArgumentsResolved)); }