I'm trying to digest this statement in the C# spec, which states (§4.2):
A reference type is a class type, an interface type, an array type, or a delegate type.
I know that structs can implement interfaces. And structs are value types.
So, I'm having trouble reconciling this information. Does this mean that structs behave as reference types when handled via an interface type? That would mean that you could get a reference to a value type...
Here's a blog post that may be illustrative.
http://blogs.msdn.com/b/abhinaba/archive/2005/10/05/477238.aspx
Yes, structs that implement interfaces get boxed as reference types if you handle them as interfaces, and yes, this can cause problems if you're not careful.