Petit quizz en passant

Bonjour à tous, je suis tombé sur un article proposant un problème sympathique, je me permets de vous le partager. Petit contest, comment obtenir l’affichage suivant: a ├─b │ ├─c │ │ └─d │ └─e │   └─f └─g   ├─h   │ └─i   └─j (astuce: vous pouvez copier/coller les caractères semi-graphiques depuis cet article…

15

Geek Quizz XII : les mysteres du binding

Allez, voici encore un petit quizz plus orienté framework que langage. Le binding est une architecture composée de nombreuses classes dont la plupart sont utilisées de manière transparente. Quelle est donc la différence entre ces deux méthodes qui paraissent si semblables ? TypeDescriptor.GetProperties(object component);TypeDescriptor.GetProperties(Type componentType);

4

Geek Quizz XI: reflection ?

Comment récupérer et afficher les descriptions “Coucou” et “Salut” des méthodes Method1 et Method2 ?Le code doit être générique quelque soit la nom de la méthode (Method1 ou Method2 ou autre) bien sûr ! public class Test { [Description(“Coucou”)] public void Method1() { ShowDescription(?); } [Description(“Salut”)] public void Method2() { ShowDescription(?); } public void ShowDescription(?) { Console.WriteLine(?);…

15

Geek Quizz X: un peu d’interop ?

Interopérer avec win32 n’est pas toujours aisé. La notion de pointeur n’existant pas en .Net, quelques petits problèmes peuvent arriver… Prenons le cas de la méthode GetDIBits de gdi32.dll. http://msdn2.microsoft.com/en-us/library/ms532334.aspx int GetDIBits( HDC hdc, // handle to DC HBITMAP hbmp, // handle to bitmap UINT uStartScan, // first scan line to set UINT cScanLines, //…

16

Geek Quizz IX: constructeurs

En voici une très courte (à énoncer en tout cas): Comment empêcher l’instantiation d’une class T sans la déclarer statique ? A quel scénario ce besoin peut-il bien servir ? [Update] Quizz suivant: Geek Quizz X: un peu d’interop ?

9

Geek Quizz VIII: vous avez dit static ?

A force de chercher des trucs vicieux…on en trouve :p. Le programme suivant génère cette sortie. Quelle est la déclaration correcte de instanceCount ? Ce que j’adore dans mon exemple c’est que l’on passe bien 12 fois sur instanceCount++ ! (on peut même mettre un point d’arrêt) 012—012—012—012—Press any key to continue . . ….

10

Geek Quizz VII: toujours les portées !

Ben oui ce n’est pas si simple ces histoires de portée.Une méthode peut être redéfinie par une classe enfant grâce au mot clé “new” (voir la classe Derived). Dans cet exemple, quelle est la méthode F() appellée par la méthode G() ? class Base { public static void F() {} } class Derived: Base {…

4

Geek Quizz VI: jouons avec les portées

Le thème semble simple, pourtant cherchez l’erreur dans le code suivant. L’exercice est plus amusant si vous n’utilisez pas l’aide du compilateur bien évidemment. J’attends vos suggestions. class Outer { static void F(long l) { } static void F(string s) { } class Inner { void G() { F(1); F(“Hello”); } static void F(long l)…

16

Geek Quizz V: révision sur les constructeurs

  Celui-ci est plus simple que les autres, donc attention: question de rapidité ! Dans l’exemple suivant, comment écrire le constructeur de B pour qu’il appelle son constructeur hérité de A en lui passant le même paramètre dummy ? Pour ne pas que ça soit trop facile je rajoute la condition suivante, si dummy passé…

8

Méthodes génériques: réponse au quizz

Voici donc la réponse au post précédent sur les possibilités de déclarer des méthodes de signatures identiques dans une même classe. Il y a eu pas mal de solutions proposées. Voici celle qui a mon avis manquait. (vos critiques sont les bienvenues). Alors voilà. Je voulais soulever le fait que depuis .Net 2.0, on peut créer…

3