J'ai commencé à lire la version de Jon Skeet de son livre, qui contient des sections sur C# 4.0, et une chose m'a frappé. Malheureusement, je n'ai pas Visual Studio 2010 disponible, alors j'ai pensé que je demanderais plutôt à la place et verrions si quelqu'un connaissait la réponse.Est-ce que C# 4.0 et une combinaison de paramètres optionnels et de surcharges vous avertissent de l'ambiguïté?
Si je le code suivant, un mélange de code existant, et le nouveau code:
public void SomeMethod(Int32 x, Int32 y) { ... }
public void SomeMethod(Int32 x, Int32 y, Int32 z = 0) { ... }
Est-ce que le compilateur se plaindre, soit sur le site de la définition ou le site d'appel au sujet de l'ambiguïté possible? Par exemple, que va faire ce morceau de code?
SomeClass sc = new SomeClass();
sc.SomeMethod(15, 23);
Est-ce qu'il compilera? Appellera-t-il celui sans le paramètre z, ou appellera-t-il celui avec le paramètre z?
En laissant de côté cette question spécifique, Je serais très heureux de recevoir d'autres commentaires sur les nouveaux chapitres - soit par des questions similaires ou directement par e-mail ([email protected]).J'espère que vous apprécierez les nouvelles choses :) –
Je vais lire le fichier que j'ai téléchargé avant d'envoyer d'autres commentaires ou des questions;) Mais oui, je serais heureux de fournir des commentaires. J'amène le dossier avec moi dans une maison sans Internet pendant le week-end, donc je vais probablement m'y plonger. –