All reference types are passed by reference. What this means is that a
managed pointer to the object is passed. Passing by value passes a copy of
an object. Primitives and value types are passed by value.
Think of it this way: If I mail you a copy of my house, I mail an entire
house to you. But if I mail you the address of my house, I can fit it on a
single sheet of paper. And if you enter the copy of my house I won't see
you. But if you come to the address of my house and enter it, I can see you.

Signature
HTH,
Kevin Spencer
Microsoft MVP
.Net Developer
A brute awe as you,
a Metallic hag entity, eat us.
> Hi all, I'm inquiring about the mechanism that is used to implement
> event handlers in .NET (not really relevant, but I'm using C#).
[quoted text clipped - 20 lines]
> Thanks,
> Novice
6tc1@qlink.queensu.ca - 02 Mar 2006 22:52 GMT
heh heh... I understand the difference between passing by copy and
value... but good analogy none the less...
I just thought events were being serialized... and that any argument
handed to them (be they primitive data type or not) were copied/cloned.
I guess I'll have to look elsewhere for optimizations - i.e. no sense
in reconstructing the object from the database, if I'm just passing a
reference to it.
Thanks,
Novice