Zacząłem czytać wcześniej dostępną wersję Jona Skeeta z jego książki, która zawiera sekcje na C# 4.0, i jedno mnie uderzyło. Niestety nie mam dostępnego Visual Studio 2010, więc pomyślałem, że zamiast tego zapytam tutaj i zobaczę, czy ktoś zna odpowiedź.Czy C# 4.0 i kombinacja opcjonalnych parametrów i przeciążeń daje ostrzeżenie o niejasności?
Jeśli mam następujący kod, mieszaninę istniejącego kodu i nowy kod:
public void SomeMethod(Int32 x, Int32 y) { ... }
public void SomeMethod(Int32 x, Int32 y, Int32 z = 0) { ... }
Czy kompilator narzekać albo w miejscu definicji lub w miejscu połączenia o możliwej dwuznaczności?
Na przykład, co właściwie zrobi ten fragment kodu?
SomeClass sc = new SomeClass();
sc.SomeMethod(15, 23);
Czy to się skompiluje? Czy wywoła tę bez parametru z, czy też wywoła tę z parametrem z?
Pozostawiając to konkretne pytanie na bok, Byłbym bardzo zadowolony z otrzymywania innych informacji zwrotnych na temat nowych rozdziałów - za pośrednictwem podobnych pytań lub bezpośrednio za pośrednictwem poczty elektronicznej ([email protected]).Mam nadzieję, że spodoba ci się nowy materiał :) –
Idę przeczytać plik, który pobrałem, zanim wyślę więcej informacji zwrotnych lub pytań;) Ale tak, chętnie udzielę informacji zwrotnej. W weekend zabieram plik do domu bez internetu, więc pewnie go zagłębię. –