public static ModelMetadataItemBuilder <TValue?> Range <TValue>([NotNull] this ModelMetadataItemBuilder <TValue?> self, TValue minimum, TValue maximum, string errorMessage)
     where TValue : struct, IComparable
 {
     return(self.Range(minimum, maximum, () => errorMessage));
 }
 public static ModelMetadataItemBuilder <TValue> Range <TValue>([NotNull] this ModelMetadataItemBuilder <TValue> self, TValue minimum, TValue maximum, Type errorMessageResourceType, string errorMessageResourceName)
     where TValue : IComparable
 {
     return(self.Range(minimum, maximum, null, errorMessageResourceType, errorMessageResourceName));
 }
 public static ModelMetadataItemBuilder <TValue?> Range <TValue>([NotNull] this ModelMetadataItemBuilder <TValue?> self, TValue minimum, TValue maximum)
     where TValue : struct, IComparable
 {
     return(self.Range(minimum, maximum, null, null, null));
 }
 public static ModelMetadataItemBuilder <TValue> Range <TValue>([NotNull] this ModelMetadataItemBuilder <TValue> self, TValue minimum, TValue maximum, Func <string> errorMessage)
     where TValue : IComparable
 {
     return(self.Range(minimum, maximum, errorMessage, null, null));
 }