У меня есть метод расширения ToString для IEnumerable, который преобразует его в список строк следующим образом:
public static string ToString<T>(this IEnumerable<T> theSource,
string theSeparator) where T : class
{
string[] array =
theSource.Where(n => n != null).Select(n => n.ToString()).ToArray();
return string.Join(theSeparator, array);
}
Теперь я хочу сделать нечто подобное с массивом перечислений: учитывая XStatusesмассив значений перечисления XStatus, я хочу получить строку, содержащую значения перечисления, разделенные theSeparator.По какой-то причине вышеупомянутый метод расширения не работает для XStatus [].Поэтому я попытался
public static string ToString1<T>(this IEnumerable<T> theSource,string theSeparator)
where T : Enum
Но затем я получил ошибку, которая "не может использовать ... 'System.Enum' ... как ограничение параметра типа.
Есть ли способ достичьэто?