using System;
class Printer
{
// 1. Простой метод с одним строковым параметром
public void Print(string message)
{
Console.WriteLine(message);
}
// 2. Метод со строкой и необязательным параметром цвета.
// Если цвет не указан, будет использован ConsoleColor.White.
public void Print(string message, ConsoleColor color = ConsoleColor.White)
{
// Сохраняем текущий цвет консоли, чтобы вернуть его позже
ConsoleColor currentColor = Console.ForegroundColor;
// Устанавливаем выбранный цвет
Console.ForegroundColor = color;
Console.WriteLine(message);
// Возвращаем исходный цвет (хороший тон в программировании)
Console.ForegroundColor = currentColor;
}
}
public class Program
{
public static void Main()
{
Printer printer = new Printer();
// 1. Вызов метода с одним аргументом.
// В данном случае выполнится первый метод Print.
printer.Print("Hello, world!");
// 2. Вызов метода с указанием цвета.
// Выполнится второй метод, и текст будет желтым.
printer.Print("Welcome to the program!", ConsoleColor.Yellow);
// 3. А вот здесь сработает магия необязательного параметра:
// Если мы закомментируем первый метод, то вызов printer.Print("Test")
// все равно бы работал, используя второй метод с белым цветом по умолчанию.
Console.WriteLine("\nНажмите любую клавишу для выхода...");
Console.ReadKey();
}
}