У меня проблемы с перегрузкой в C#. У меня есть два метода, которые выглядят так.Способы перегрузки при использовании строки и укуса []
public static void Sample(string string1, string string2, string string3,
System.Windows.Forms.MessageBoxButtons buttons)
{}
public static void Sample(string string1, string[] string2, string string3, System.Windows.Forms.MessageBoxButtons buttons)
{}
Когда я пытаюсь вызвать второй метод, который я получаю сообщение об ошибке «Не удается преобразовать„строка []“на„строка“». Что я делаю не так?
Он работает, когда я перегружаю методы, которые не принимают перечисление MessageBoxButtons, но не для этого метода.
Вызов кода выглядит следующим образом.
string[] myStringArray = new string[] {"this is a test","of overloaded methods"};
Sample("String1",myStringArray,"String2",System.Windows.Forms.MessageBoxButtons.OK);
Edit: Проблема была в моем сценарии сборки. Он не ожидал создания dll перед созданием следующей dll, которая ссылалась на первую, поэтому изменения, которые были сделаны там, где не в DLL, на которую ссылались.
Угадайте, что это ошибка из-за использования IDE.
Можете ли вы опубликовать краткую, но полную программу, которая демонстрирует проблему? – dtb
То же. Я скопировал эти методы в тестовое приложение, а затем вызвал их как без ошибки. Вероятно, ошибка в вызове, а не функция. – xcud