Na 5 jaar java heb ik de overstap gemaakt op c#. Op dit moment ben ik nog een c#-n00b, dus ik heb een paar boeken besteld die hopelijk deze week worden bezorgd. In Java heb ik een tijdje geleden geleerd hoe je je eigen actions kunt bouwen doormiddel van de abstracte klasse 'AbstractAction'. Voordelen hiervan zijn onder andere een hele nette codeopbouw en het meegeven van parameters (heel handig bij onder andere het aanroepen van je help-frame met verschillende topics). Hieronder even een voorbeeldje:
In C# ben ik al een tijdje op zoek naar een oplossing hoe ik op ongeveer dezelfde manier eigen actions kan bouwen. Borland C#builder maakt er gelukkig niet zo'n zootje van als in JBuilder, maar toch ben ik nog steeds niet tevreden. Mijn classes worden enorm groot, en het ziet er gewoon niet mooi uit. Bij het initialiseren van een button is het mogelijk om als parameter een reference 'EventHandler' mee te geven, waar een methodenaam uit de klasse waar de button is geinitialiseerd moet worden meegegeven. Je krijgt dus dit soort code:
Op den duur wordt dit natuurlijk een klasse van belachelijk veel regels, wat ik best onoverzichtelijk vind. Ook zou het handig zijn om direct bij het initialiseren van een button een extra parameter mee te geven van bijvoorbeeld de naam van een helptopic die moet worden laten zien in een helpframe.
Ik heb allerlei websites afgestruind, maar heb nog niks interessants gevonden. Events, References, allemaal leuke tutorials, maar nog nergens iets gevonden wat mij kan helpen. Is er iemand die mij wel verder op weg kan helpen?
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| public class Blaat { public void build() { ... JButton helpButton = new JButton(new HelpAction("applicatie info")); ... } } public class HelpAction extends AbstractAction { public HelpAction(String helpTopic) { .. .. } } |
In C# ben ik al een tijdje op zoek naar een oplossing hoe ik op ongeveer dezelfde manier eigen actions kan bouwen. Borland C#builder maakt er gelukkig niet zo'n zootje van als in JBuilder, maar toch ben ik nog steeds niet tevreden. Mijn classes worden enorm groot, en het ziet er gewoon niet mooi uit. Bij het initialiseren van een button is het mogelijk om als parameter een reference 'EventHandler' mee te geven, waar een methodenaam uit de klasse waar de button is geinitialiseerd moet worden meegegeven. Je krijgt dus dit soort code:
C#:
1
2
3
4
5
6
7
8
9
10
11
| public class Blaat { public void initComponents() { MenuItem menuFileItem1 = new MenuItem("&Open"); menuFileItem1.Click += new EventHandler(menuFileItemOpen_Click); menuFile.MenuItems.Add(menuFileItem1); } private void menuFileItemOpen_Click(object sender, System.EventArgs e) { System.Console.WriteLine("Bla"); } } |
Op den duur wordt dit natuurlijk een klasse van belachelijk veel regels, wat ik best onoverzichtelijk vind. Ook zou het handig zijn om direct bij het initialiseren van een button een extra parameter mee te geven van bijvoorbeeld de naam van een helptopic die moet worden laten zien in een helpframe.
Ik heb allerlei websites afgestruind, maar heb nog niks interessants gevonden. Events, References, allemaal leuke tutorials, maar nog nergens iets gevonden wat mij kan helpen. Is er iemand die mij wel verder op weg kan helpen?
[ Voor 3% gewijzigd door JeroenTheStig op 22-06-2004 09:38 ]