воскресенье, 1 марта 2009 г.

Новое в C# 4.0 - именованные аргументы функций

Что такое именованные аргументы функций и зачем это надо? Как известно, C# не имеет поддержки значений по-умолчанию для аргументов у функций. Так вот - именованные аргументы нужны как раз для этого :)

Синтаксис выглядит так:


public class ContactList
{
    List SearchForContacts(
        string name = "any",
        int age = -1,
        string address = "any") { ... }

    static void Main()
    {
        ContactList list = new ContactList();
        var x = list.SearchForContacts(age:26);
        var y = list.SearchForContacts(address:"home", name:"sam", age:30);
    }
}

Если у функции есть как аргументы со значениями по-умолчанию, так и без, то при вызове первыми идут аргументы без значений по-умолчанию, а потом уже - со значениями по-умолчанию. Причем для аргументов без значений порядок обязателен, а для остальных - нет.

Источник

Комментариев нет:

Отправить комментарий