/// <summary>
        ///   Checks whether a human-readable extensible-enumeration name of the spefified reflection object exists.
        /// </summary>
        /// <param name="extensibleEnumGlobalizationService">
        ///   The <see cref="IExtensibleEnumGlobalizationService"/> to use during the lookup. Must not be <see langword="null" />.
        /// </param>
        /// <param name="value">
        ///   The <see cref="IExtensibleEnum"/> that defines the name for the resource lookup. Must not be <see langword="null" />.
        /// </param>
        /// <returns><see langword="true" /> if a resource could be found.</returns>
        public static bool ContainsExtensibleEnumValueDisplayName(
            [NotNull] this IExtensibleEnumGlobalizationService extensibleEnumGlobalizationService,
            [NotNull] IExtensibleEnum value)
        {
            ArgumentUtility.CheckNotNull("extensibleEnumGlobalizationService", extensibleEnumGlobalizationService);
            ArgumentUtility.CheckNotNull("value", value);

            string result;

            return(extensibleEnumGlobalizationService.TryGetExtensibleEnumValueDisplayName(value, out result));
        }
        public static string GetExtensibleEnumValueDisplayNameOrDefault(
            [NotNull] this IExtensibleEnumGlobalizationService extensibleEnumGlobalizationService,
            [NotNull] IExtensibleEnum value)
        {
            ArgumentUtility.CheckNotNull("extensibleEnumGlobalizationService", extensibleEnumGlobalizationService);
            ArgumentUtility.CheckNotNull("value", value);

            string result;

            if (extensibleEnumGlobalizationService.TryGetExtensibleEnumValueDisplayName(value, out result))
            {
                return(result);
            }

            return(null);
        }