[C#] Accès à une méthode statique à partir d'une instance
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:
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) ? :)