2010-02-04 62 views

回答

14

對象上的GetType永遠不會返回null - 至少它將是類型對象。如果myObject爲null,那麼當您嘗試調用GetType()時,您會遇到異常

2

如果myObject的參數爲空,那麼你將無法調用的GetType()就可以了。 NullReferenceException將被拋出。否則,我認爲你會好的。

0

基本上,不,它不能(永遠不會返回null),也不會。

5

不,它不會返回null。但這是一個需要注意的問題!

static void WhatAmI<T>() where T : new() { 
    T t = new T(); 
    Console.WriteLine("t.ToString(): {0}", t.ToString()); 
    Console.WriteLine("t.GetHashCode(): {0}", t.GetHashCode()); 
    Console.WriteLine("t.Equals(t): {0}", t.Equals(t)); 

    Console.WriteLine("t.GetType(): {0}", t.GetType()); 
} 

這裏有一定T輸出:

t.ToString(): 
t.GetHashCode(): 0 
t.Equals(t): True 

Unhandled Exception: System.NullReferenceException: Object reference not set to 
an instance of an object. 

什麼是T?答:任何Nullable<U>

(信用原單概念馬克Gravell)

+0

我看你做了什麼,有;-p – 2010-02-04 16:29:12

+0

@Marc Gravell:我做你的信用,如果這是你的意思。我無法找到您首次提交的帖子,但提供鏈接?我認爲這是在C#/ .net gotcha線程中。 – jason 2010-02-04 16:37:11

相關問題