Originally Posted by jmcilhinney
No, reference type objects cannot be made to behave like value type objects under any circumstances. All variables are stored on the stack. Value type variables contain a value, i.e an object itself, while reference type variables contain a reference, i.e a memory addres, which is a pointer to the actual object stored on the heap. That is the difference between value types and reference types, plain and simple, and that never changes. The net result of some operations on a value type and a reference type may be the same but they will never behave the same because they never are the same.
Structures are value types and classes are reference types.