Bonjour à tous,
Petite interrogation du jour : ?
Comment puis-je accéder à une méthode statique à partir d'un objet ?
En fait la méthode en question est un simple "get" sur une variable, est-il possible de la rendre accessible à un objet, autrement qu'en définissant une méthode supplémentaire non statique?
Autre solution pour résoudre le problème : est-il possible de définir une variable de type "class", le but étant d'accéder à ses méthodes statiques.
Enfin tout cela de façon "simple"
Sachant que class_1 est instanciée. Les classes 0x n'ont pas besoin de l'être, et travaillant sur PDA, j'essaye d'éviter la création d'objets inutiles
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 class_0 { private static class_0 Instance; private static string _Name; public static string Name { get { return _Name; } } } class_0a : class_0 { private static class_0a Instance = new class_0a(); private class_0a () { _Name = "class 0a"; } } class_0b : class_0 { private static class_0b Instance = new class_0b(); private class_0b () { _Name = "class 0b"; } } // Illustration Solution 1 class_1 { public class_0 Classe; public class_1(class_0 objet) { Classe = objet; } } ... class_1 c1 = new class_1(new class_0a); MessageBox.Show(c1.Classe.Name); // Solution 1 possible, mais bofbof class_0 { private static class_0 Instance; private static string _Name; public static string Name { get { return _Name; } } public string NameInstance { get { return _Name; } } } ... class_1 c1 = new class_1(new class_0a); MessageBox.Show(c1.Classe.NameInstance); // Illustration Solution 2 (préférée si possible) // quelque chose du genre : (bien sûr écrit comme ça c'est absurde, mais c'est l'idée) { public ref class Classe; public class_1(ref class objet) { Classe = objet; } } ... class_1 c1 = new class_1(ref class_0a); MessageBox.Show(c1.Classe.Name);
Une solution (autre que l'utilisation d'une classe type singleton) ?![]()
Partager