:
Nullable<T> , , bool? b = new bool?();, b, GetType(), a NullReferenceException? new , b null?
, . Nullable<T> . #:
4.1.10
[...]
T? :
, HasValue , . , . , HasValue , null. undefined. System.InvalidOperationException.
, , bool? b = new bool?(); : HasValue on. false, .
:
4.3.1
: nullable-type , null (HasValue )
MSDN: Nullable Types ( #):
, , , . HasValue , null .
:
11.3.5
, System.Object(, Equals, GetHashCode ToString), struct .
GetType() Nullable<T>, . GetType() , . null Nullable<T> (object)null. .
. .NET?.
, :
b , Nullable<bool> HasValue false.GetType() , Nullable<bool> object.GetType().- ,
(object)null. ((object)null).GetType(), NullReferenceException, .
, , null Nullable<T>, - :
Type GetType<T>(T obj)
{
return typeof(T);
}
:
Console.WriteLine(GetType(b));