2009-11-13 84 views

回答

13

MSDN

 
Constraint   Description 

where T : U   The type argument supplied for T must be or derive from 
        the argument supplied for U. This is called a naked type 
        constraint. 

當一個一般類型參數被用作缺點traint,它被稱爲裸型約束。裸類型約束是當與其自己的類型參數的成員函數具有約束該參數包含類型的類型參數是有用的,如顯示在下面的例子:

class List<T> 
{ 
    void Add<U>(List<U> items) where U : T {/*...*/} 
} 
+1

我總是在學習...... – 2009-11-13 17:12:45

+1

我從來沒有聽說過這個術語,雖然我已經使用過這種約束類型幾次了。 – dtb 2009-11-13 17:20:36

19

順便說一句,它是對我來說這是一個讓人覺得奇怪的術語,使它成爲MSDN文檔。我們當然不會在C#編譯器團隊中稱這些約束爲「裸類型約束」,我感到震驚,震驚!發現幾年前,這就是文件所說的。我們通常稱它們爲「類型參數約束」。我不知道這個術語是如何進入文檔的;那裏可能有一個有趣的故事。