Как исправить «Нет перегрузки для метода» принимает 0 аргументов »?
Как я могу исправить эту ошибку?
Msgstr “Нет перегрузки для вывода метода ‘принимает 0 аргументов”.
Ошибка находится в самом низу на «fresh.output ();».
- .NET Console TextWriter, который понимает Отступ / Неподвижный / IndentLevel
- Слушайте нажатие клавиши в приложении консоли .NET.
- Как запустить консольное приложение C # с консолью, скрытой
- Отключение ввода в консоли C # до завершения определенной задачи
- Невозможно указать модификатор «async» в методе «Основной» консольного приложения
Я не знаю, что я делаю неправильно. Может кто-нибудь сказать мне, что я должен сделать, чтобы исправить код?
Вот мой код:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication_program { public class Numbers { public double one, two, three, four; public virtual void output(double o, double tw, double th, double f) { one = o; two = tw; three = th; four = f; } } public class IntegerOne : Numbers { public override void output(double o, double tw, double th, double f) { Console.WriteLine("First number is {0}, second number is {1}, and third number is {2}", one, two, three); } } public class IntegerTwo : Numbers { public override void output(double o, double tw, double th, double f) { Console.WriteLine("Fourth number is {0}", four); } } class program { static void Main(string[] args) { Numbers[] chosen = new Numbers[2]; chosen[0] = new IntegerOne(); chosen[1] = new IntegerTwo(); foreach (Numbers fresh in chosen) { fresh.output(); } Console.ReadLine(); } } }
- Установка позиции курсора в консольном приложении Win32
- Как мне разрешить ввод номера в мое консольное приложение C #?
- Owin Self host & ASP .Net MVC
- Консольное приложение .NET как служба Windows
- Как распечатать UTF-8 из консольного приложения c ++ в Windows
- Как программно отключить режим быстрого редактирования C # консольного приложения?
- как запустить winform из консольного приложения?
- Как открыть окно консоли
Он говорит вам, что метод «output» требует аргументов. Вот подпись для вывода:
public override void output(double o, double tw, double th, double f)
Поэтому, если вы хотите назвать это, вам нужно пройти в четырех двухместных.
fresh.output(thing1,thing2,thing3,thing4);
Или использовать жестко закодированные значения в качестве примера:
fresh.output(1,2,3,4);
Нет метода с именем output
который принимает 0 аргументов, есть только один, который принимает 4 аргумента. Вы должны передать параметры output()
:
foreach (Numbers fresh in chosen) { fresh.output(o, tw, th, f); }
Вы вызываете метод output
с параметрами 0 (ноль), но вы объявили, что он получает 4 двойных значения. Компилятор не знает, что он должен назвать, поскольку нет метода output
без параметра.
Все ваши реализации output
метода принимают аргументы. Поставьте аргументы, и вы сможете скомпилировать их.
Как это:
fresh.output(1, 2, 3, 4);
fresh.output()
ожидает 2 параметра, и вы не предоставляете их