Как я уже сказал в своем комментарии, вы можете просто позвонить Select
и ToArray
по мере необходимости.Однако если вы действительно хотите расширение, вам нужно сделать ваш метод универсальным:
<Extension>
Public Function ToStrings(Of T)(source As T()) As String()
'If Not GetType(T).IsEnum Then
' Return Nothing
'End If
Return Array.ConvertAll(source, Function(e) e.ToString())
End Function
Нет универсального ограничения, которое может ограничить вызов этого метода только массивом значений Enum
, чтобы вы моглииспользуйте оператор If
, чтобы либо вернуть Nothing
, либо выдать исключение.Однако я не вижу в этом смысла, поскольку на самом деле не повредит, если вы все равно разрешите вызывать этот же метод для другого массива любого другого типа.