Hoi,
Ik ben nu een tijdje bezig met C#. Tot nu toe vind ik het een geweldige taal, maar nu ben ik iets tegen gekomen wat ik echt niet snap.
Stel ik heb een class Stip:
Nu ben ik het volgende tegen gekomen:
Waarom mag ik Age wel veranderen, Position in zijn geheel ook, maar Position.X niet?
Wat ik nu dus zou moeten doen is een method Move(int x, int y) maken?? Dit kan wel, maar dit is toch veel te omslachtig. Ik ben nu dus geneigd om alle properties weg te gooien en te veranderen in Public variabelen. Maar dan kan ik later de variabelen niet meer controleren met get en set.
Ik ben vrij nieuw met c# dus als deze vraag misschien niet duidelijk is meld het dan even.
Alvast bedankt!
ps. ik werk met xna nu dus daarom die Vector2
Ik ben nu een tijdje bezig met C#. Tot nu toe vind ik het een geweldige taal, maar nu ben ik iets tegen gekomen wat ik echt niet snap.
Stel ik heb een class Stip:
C#:
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
| public class Stip { private Vector2 _position; private int _age; public Vector2 Position { get { return _position; } set { _position = value; } } public int Age { get { return _age; } set { _age = value; } } } |
Nu ben ik het volgende tegen gekomen:
C#:
1
2
| Age = 10; //Dit kan Position.X = 20; //Dit mag niet?? ("Cannot modify the return value of BLA because its not a variable") |
Waarom mag ik Age wel veranderen, Position in zijn geheel ook, maar Position.X niet?
Wat ik nu dus zou moeten doen is een method Move(int x, int y) maken?? Dit kan wel, maar dit is toch veel te omslachtig. Ik ben nu dus geneigd om alle properties weg te gooien en te veranderen in Public variabelen. Maar dan kan ik later de variabelen niet meer controleren met get en set.
Ik ben vrij nieuw met c# dus als deze vraag misschien niet duidelijk is meld het dan even.
Alvast bedankt!
ps. ik werk met xna nu dus daarom die Vector2
[ Voor 12% gewijzigd door Synch op 27-05-2008 14:20 ]