public static StringComparer GetStringComparer(this CompareInfo compareInfo, CompareOptions options)
{
if (compareInfo == null)
{
throw new ArgumentNullException(nameof(compareInfo));
}
if (options == CompareOptions.Ordinal)
{
return StringComparer.Ordinal;
}
if (options == CompareOptions.OrdinalIgnoreCase)
{
return StringComparer.OrdinalIgnoreCase;
}
if ((options & CultureAwareComparer.ValidCompareMaskOffFlags) != 0)
{
throw new ArgumentException(SR.Argument_InvalidFlag, nameof(options));
}
return new CultureAwareComparer(compareInfo, options);
}
}