2010-07-19 12 views
33

Szybkie pytanie; Niedawno zaktualizowałem program do wersji VS2010 i otrzymałem nową wersję programu ReSharper.Składnia C# - dwukropek za nazwą zmiennej

Teraz, kiedy ReSharper daje mi opcji autouzupełniania dla zmiennej, to daje mi możliwość < nazwaZmiennej>:

Co robi : skrót?

Na przykład; Mam to:

var productIds = new List<int>(inventoryItemsToProcess.Keys); 

A kiedy zaczynają wpisywać się linię tak:

var lastOrderDates = GetProductLastOrderDates(pro 

To daje mi opcję productIds jak productIds:

Jaka jest różnica między tymi dwoma ?

Odpowiedz

39

Druga jest dla C# 4.0 named arguments. A tutaj jest link on MSDN.

+12

Dokładniej, nazwanych argumentów. Parametry zawsze miały nazwy :) –

+1

proste, kompletne, poprawne – Kris

+6

@Jon Skeet: koleś, zdajesz sobie sprawę, że jesteś jedynym facetem, który zna różnicę między parametrami a argumentami, prawda? ;-) – Kris

35

Okrężnica jest konieczna do wskazania parametrów. W języku C# 4.0 można ponownie zamówić i nazwać parametry, opcjonalnie, ale nazwa zmiennej musi być zgodna z prototypem i mieć przyrostek dwukropka.

public void Test(string something1, string something2) 
{ 
} 

można nazwać jako:

Test(something2: "bar", something1: "foo"); 

jeśli chcesz

+7

Dziękujemy za przedstawienie ilustracji, a nie tylko linku. – DOK