有人請解釋的詳細信息,下面的代碼:在C#Inheritace用「其中」
internal class InternalClientProxy<TInterface> :
ClientBase<TInterface> where TInterface : class
有人請解釋的詳細信息,下面的代碼:在C#Inheritace用「其中」
internal class InternalClientProxy<TInterface> :
ClientBase<TInterface> where TInterface : class
它是一個通用型的約束。在這種情況下,
where T : class
表示T應該是引用類型。
看到這裏的細節的約束:Constraints on Type Parameters (C# Programming Guide)
要跟進我的評論,documentation解釋語法。類型參數
約束(C#編程指南)
當你定義一個泛型類,你可以當它實例化類應用的限制,該種客戶端代碼可以使用類型參數類型。如果客戶端代碼嘗試使用約束不允許的類型實例化您的類,則結果是編譯時錯誤。這些限制稱爲約束。通過使用來指定約束,其中上下文關鍵字。下表列出了六種類型的約束:
...
where T : class
類型參數必須是引用類型;這也適用於任何類,接口,委託或數組類型。
沒有約束,通用代碼的行爲可能會有所不同(除別的以外),具體取決於TInterface
是代表值還是引用類型。
[文檔](http://msdn.microsoft.com/en-us/library/d5x73970.aspx)不能解釋它嗎? –
請特別提一下不明確。只是在哪裏使用?沒有清晰度,其他人將無法提供幫助 – NoviceProgrammer