Looking for c# Keywords? Try Ask4Keywords

C# Language Именованные аргументы позволяют избежать ошибок по необязательным параметрам


пример

Всегда используйте Named Arguments для дополнительных параметров, чтобы избежать возможных ошибок при изменении метода.

class Employee
{
    public string Name { get; private set; }

    public string Title { get; set; }

    public Employee(string name = "<No Name>", string title = "<No Title>")
    {
        this.Name = name;
        this.Title = title;
    }
}

var jack = new Employee("Jack", "Associate");   //bad practice in this line

Вышеприведенный код компилируется и работает нормально, пока конструктор не изменится, как:

//Evil Code: add optional parameters between existing optional parameters
public Employee(string name = "<No Name>", string department = "intern", string title = "<No Title>")
{
    this.Name = name;
    this.Department = department;
    this.Title = title;
}

//the below code still compiles, but now "Associate" is an argument of "department"
var jack = new Employee("Jack", "Associate");

Лучшая практика, чтобы избежать ошибок, когда «кто-то в команде» допустил ошибки:

var jack = new Employee(name: "Jack", title: "Associate");