class SomeClass
{
}
class SomeClass
{
public SomeClass()
{
//we will leave this empty
}
}
Эти два класса являются одинаковыми классами.В первом случае у нас нет никакого конструктора, во втором случае у нас есть конструктор, НО ему не нужны никакие аргументы.
Если мы сделаем это так:
class SomeClass
{
public SomeClass(string GiveMeArgument)
{
}
}
class SomeClass
{
public SomeClass()
{
//we will leave this empty
}
public SomeClass(string GiveMeArgument)
{
}
}
Эти два классане то же самое.Теперь вы спрашиваете себя: «Почему нет, единственное, что мы сделали, - это добавили еще один конструктор, который можно использовать для создания объекта, но мы сделали это для обоих классов», и ответим: мы добавили один и тот же конструктор, НО здесь есть одно золотое правило: `Если классне имеет ЛЮБОГО конструктора, он будет вести себя так, как если бы у него был пустой конструктор (как в моем первом коде вверх), НО, если у класса есть, по крайней мере, один конструктор, его поведение по умолчанию больше не будет действительным. »Поэтому, если мы посмотрим на наш второй пример, когда мы добавили этот конструктор, который требует аргумента, мы ПОТЕРЯЛИ наше поведение класса по умолчанию, позволяющее создавать его без аргументов.
У вас есть такая же сделка внутри вашего Main
класса. Чтобы решить эту проблему, просто добавьте конструктор, который не принимаетаргумент помимо вашего уже созданного.