On suppose qu'il ya une classe de baseC# Peut-on passer le type de classe en tant que paramètre à la fonction et les variables de classe d'accès à l'intérieur de la méthode
class base
{
int x, y;
}
Et 3 dérivé singleton classes A, B, C avec x, y initialisés à certains valeur.
exemple:
class A : base { x = 1; y = 0;}
class B : base { x = 0; y = 1;}
class C : base { x = 1; y = 1;}
est-il un moyen de passer de classe en tant que paramètre à la méthode et l'accès valeur de la variable de cette classe. SO, Une fonction qui peut mettre à jour les valeurs pour les 3 classes.
Intention:
int call (type classtype)
{
int xvalue = classtype.x;
int yvalue = classtype.y;
}
Je l'ai vu dans certains postes une mention Activator.CreateInstance (classtype) dans How to pass a Class as parameter for a method? [duplicate]
Mais il ne répond pas à la façon dont nous pouvons accéder à des variables de cette classe .
Il devrait être 'appel int (base ClassType)' et vous passeriez l'objet instancié. – Legends
Le * type * ne possède pas ces variables. * Les instances * de ce type ont ces variables, donc avoir le * type * ne vous donne aucune variable. – Servy
S'il vous plaît afficher le code pour "classes A, B" - très peu clair ce que vous voulez dire "valeur variable de la classe" comme @Servy a dit. Vous pouvez faire référence à des champs de classe statiques/propertied * ou * des champs/propriétés d'instance - serait clair si le code est réellement C# et non pas un pseudo-langage. –