Вот рабочие примеры:
Передаем аргумент в конструктор класса
class MyClass
{
public MyClass(int number)
{
Console.WriteLine(number);
}
}
Передаем аргумент в метод
static void Main()
{
MyClass instance1 = new MyClass(1);
MyClass instance2 = new MyClass(2);
Console.ReadKey();
}
То же самое, но без конструктора
class MyClass
{
public void MyMethod(int number)
{
Console.WriteLine(number);
}
}
static void Main()
{
MyClass instance1 = new MyClass();
MyClass instance2 = new MyClass();
instance1.MyMethod(1);
instance1.MyMethod(2);
Console.ReadKey();
}
Зачем и когда нужно передавать аргумент в конструктор класса? Ведь всё тоже самое можно сделать с помощью обычного метода. (Конструктор тоже метод, но особенный - вызываемый автоматически.)
Да, с методом на 1 шаг больше. Но на мой взгляд, такой код выглядит более правильным.
Я достаточно редко вижу классы в который передают аргументы. Обычно конструктор в классе выполняет какие либо операции, которые должны быть всегда выполнены при создании экземпляра класса.