February 25th, 2005

Illuminati

Point Proven

I post about The Political Compass, I get no responses. I post again, with a poll for you to put your answers in, I get 30 people filling it out and 16 comments.

Looks like I know how to get _your_ attention.
Illuminati

How I spent my Friday afternoon at work

I've just been moved to a new bit of the team, where I will be working in C# - despite the fact I've never been trained in it. I have, luckily, done some at home, in my own time, but bits of it have been known to make my head hurt. In attempt to refresh my memory I threw myself into the one thing that I never really got the hang of - events and delegates.

Delegates replace function pointers, and make them strongly typed (so rather than passing in a function pointer to a callback you pass in a delegate, which contains the function pointer and the type information about that function).

So in order to raise an event that passes a string from the event raiser to the event subscriber I've had to:

1) Declare a Delegate with String parameter called StringDelegate
public delegate void StringDelegate (String MessageString);

2) Declare an Event of type StringDelegate
public event StringDelegate StringEvent;

3) Create a method which takes a String parameter
public void AndyTest( String MessageToPrint )
{
MessageBox.Show( MessageToPrint,"Another Message Box");
}

4) Subscribe the method to the event, using the delegate.
StringEvent += new StringDelegate(AndyTest);

5) Create a method which raises the event
protected virtual void OnStringEvent(String EventMessage)
{
StringEvent(EventMessage);
}

6) Create some code which actually calls the code-raising method
OnStringEvent("Andy");

All of which has made my head hurt a fair bit. On the plus side, that final line _did_ make a message box pop up with the word "Andy" in it, so it's not all bad.
I'm sure the last two bits can be combined in some way, but I left work at that point, it being 5:45
Illuminati

Ooooh

Having discovered that Microsoft produce a version of C# that can be downloaded for free (express edition), it is currently installing so I can play with it over the weekend.

How geeky am I

Mean: 8.52 Median: 9 Std. Dev 3.16
0(0.0%)
0
1(3.4%)
1
1(3.4%)
2
0(0.0%)
3
2(6.9%)
4
0(0.0%)
5
0(0.0%)
6
1(3.4%)
7
2(6.9%)
8
6(20.7%)
9
2(6.9%)
10
0(0.0%)
11
14(48.3%)