So if I want to pass a nullable value type such as a Int32? into a method, I must tell the method param that it is a nullable.
public void foo(Int32? arg){...}
If I pass a regular Int32 into arg it works. But if I change it to
public void foo(Int32 arg){...}
and pass in a nullable it freaks out.
So my question is does the ? change the type of Int32 ?
Is there an Int32? object or does the ? just set a flag in Int32 and make it nullable?
Basically I am asking what is happening under the hood.