Les méthodes C # qui peuvent être statiques doivent-elles être statiques? Nous avons discuté de cela aujourd’hui et je suis un peu sur la barrière. Imaginez que vous ayez une longue méthode que vous retravaillez de quelques lignes. La nouvelle méthode prend probablement quelques variables locales de la méthode parent et renvoie une valeur. Cela […]
J’ai joué avec des modificateurs avec une méthode statique et j’ai rencontré un comportement étrange. Comme nous le soaps, les méthodes statiques ne peuvent pas être remplacées, car elles sont associées à class plutôt qu’à instance. Donc, si j’ai l’extrait ci-dessous, il comstack bien //Snippet 1 – Comstacks fine public class A { static void […]
Les méthodes C # dans les interfaces sont déclarées sans utiliser le mot-clé virtual et remplacées dans la classe dérivée sans utiliser le mot-clé override . Y a-t-il une raison à cela? Je suppose que c’est juste un langage pratique, et le CLR sait évidemment comment gérer cela sous les couvertures (les méthodes ne sont […]
Si je définis une méthode de classe avec un argument mot-clé donc: class foo(object): def foodo(thing=None, thong=’not underwear’): print thing if thing else “nothing” print ‘a thong is’,thong L’appel de la méthode génère un TypeError : myfoo = foo() myfoo.foodo(thing=”something”) … TypeError: foodo() got multiple values for keyword argument ‘thing’ Que se passe-t-il?
Est-il possible de déclarer une méthode permettant un nombre variable de parameters? Quel est le symbolisme utilisé dans la définition qui indique que la méthode doit permettre un nombre variable de parameters? Réponse: varargs
En effectuant un refactoring, j’ai fini par créer une méthode comme l’exemple ci-dessous. Le type de données a été modifié pour des raisons de simplicité. J’ai déjà eu une déclaration d’affectation comme celle-ci: MyObject myVar = new MyObject(); Cela a été refacturé par accident: private static new MyObject CreateSomething() { return new MyObject{“Something New”}; } […]
J’utilise un AsyncTask pour les opérations de chargement que j’ai implémentées en tant que classe interne. Dans onPreExecute() je montre une boîte de dialog de chargement que je cache ensuite dans onPostExecute() . Mais pour certaines des opérations de chargement, je sais à l’avance qu’elles se termineront très rapidement, donc je ne veux pas afficher […]
Bien qu’il puisse y avoir des cas valides où de telles surcharges de méthode pourraient devenir ambiguës, pourquoi le compilateur n’autorise-t-il pas le code qui n’est ni ambigu à la compilation ni à l’exécution? Exemple: // This fails: def foo(a: Ssortingng)(b: Int = 42) = a + b def foo(a: Int) (b: Int = 42) […]
Que signifie public static void en Java? Je suis en train d’apprendre. Dans tous les exemples du livre, je travaille à partir public static void avant toute méthode utilisée ou créée. Qu’est-ce que ça veut dire?
Je l’ai trouvé dans une de mes bibliothèques ce matin: static tvec4 Min(const tvec4& a, const tvec4& b, tvec4& out) { tvec3::Min(a,b,out); out.w = min(aw,bw); } Je m’attendrais à une erreur de compilation car cette méthode ne renvoie rien et le type de retour n’est pas void . Les deux seules choses qui me viennent […]