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"

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);
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

Une solution (autre que l'utilisation d'une classe type singleton) ?