У меня есть метод расширения на строке: < /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
На методе расширения, как я могу иметь две перегрузки, одна с String Params [] и одна с String []? ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение