2012-09-02 26 views
-8

有人請解釋的詳細信息,下面的代碼:在C#Inheritace用「其中」

internal class InternalClientProxy<TInterface> : 
    ClientBase<TInterface> where TInterface : class 
+4

[文檔](http://msdn.microsoft.com/en-us/library/d5x73970.aspx)不能解釋它嗎? –

+0

請特別提一下不明確。只是在哪裏使用?沒有清晰度,其他人將無法提供幫助 – NoviceProgrammer

回答

1

這意味着你只能在你InternalClientProxy

一些有用的鏈接引用類型爲更好地理解

MSDN1 MSDN2

1

要跟進我的評論,documentation解釋語法。類型參數

約束(C#編程指南)

當你定義一個泛型類,你可以當它實例化類應用的限制,該種客戶端代碼可以使用類型參數類型。如果客戶端代碼嘗試使用約束不允許的類型實例化您的類,則結果是編譯時錯誤。這些限制稱爲約束。通過使用來指定約束,其中上下文關鍵字。下表列出了六種類型的約束:

...

where T : class類型參數必須是引用類型;這也適用於任何類,接口,委託或數組類型。

沒有約束,通用代碼的行爲可能會有所不同(除別的以外),具體取決於TInterface是代表值還是引用類型。