Je capte pas vraiment ce que t'as tenté de faire dans ton code...
Comprendre comment ça marche et à quoi ça sert
Donc, déclarer un attribute (TestAttribute) pour linstancier dans la classe Hello.
Déjà, à aucun moment tu initialises la valeur de ton attribut avec un .set()
La ligne [TestAttribute(10)] est sensée créer et initialiser cet attribut. D'ailleurs, elle le fait, si je met une trace sans l'accesseur en ecriture de truc, je vois l'initialization.
Et ensuite, pour récupérer, tu n'a pas surchargé la méthode par défaut, donc il ne peux pas inventer que tu veux un .get(), donc il lits direct dans la valeur, et vu qu'elle n'est pas initialisée, ça ne peux pas marcher.
C'est une propriétée. La valeur est contenue dans truc, mais j'ai déclarée une propriétée Truc qui me permet d'y acceder proprement.
PS: Un type d'attribut avec un .set et un .get, généralement, sa valeur est privée, sinon ça sert à rien
C'est une propriété, l'appel à set/get est donc sous entendu. Si je fait Truc = 3, Ca appel setTruc (3) qui affecte 3 à truc.
Et aussi... A quel moment tu dis que "Prop" ou "Truc" est un attribut
Code :
- private string prop = "";
- public string Prop {
- get {
- return prop;
- }
- set {
- prop = value;
- }
- }
|
Parceque là, je trouve ça bizarre
Moi aussi j'ai du mal a comprendre ce qui se passe. Mais la question porte sur l'utilisation de Truc dans une instance de Hello.
---------------
brisez les rêves des gens, il en restera toujours quelque chose... -- laissez moi troller sur discu !