На методе расширения, как я могу иметь две перегрузки, одна с String Params [] и одна с String []?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 На методе расширения, как я могу иметь две перегрузки, одна с String Params [] и одна с String []?

Сообщение Anonymous »

У меня есть метод расширения на строке: < /p>
public static bool IsOneOf(this string cS, params string[] items)
{
if (items == null) return false;
if (items.GetLength(0) == 0) return false;
for (int i = 0; i
Таким образом, я могу использовать его в выражении, что делает для легко читаемого кода: < /p>
myName.IsOneOf("fred", "jim", "shiela")
< /code>
Но я также хотел бы использовать этот формат: < /p>
string[] names = new string[] {"fred", "jim", "sheila"};
< /code>
Тогда я мог бы сделать это: < /p>
myName.IsOneOf(names)
< /code>
Но если я также объявлю: < /p>
public static bool IsOneOf(this string cS, string[] items)
{
if (items == null) return false;
if (items.GetLength(0) == 0) return false;
for (int i = 0; i
Я получаю эту ошибку во втором объявлении: Type 'StringExtension' уже определяет член, называемый «isoneof» с одинаковыми типами параметров. < /p>
Существуют обстоятельства, когда оба будут действительно полезны. Мне нужен первый для обратной совместимости, но второй был бы гораздо лучше подходит для управления данными к вызову на будущее.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ams-string
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»