2011-01-26 49 views
3

這兩個說法是否相同?關於仿製藥的初級問題

Public Class Class2(Of X As Class1) 
Public Class Class2(Of X As {Class1}) 

「新」是什麼意思?

Public Class Class2(Of X As {Class1, New}) 

回答

5

您的前兩條語句是等價的。花括號是如何在VB.NET中使用多個通用約束。在你的情況下,即使有括號,也只有一個約束。

New關鍵字是一個約束條件,可確保類型T具有不帶參數的構造函數。所以你的第二個定義確保T是或從Class1繼承,並具有無參數的構造函數。

+0

感謝。我可以創建一個約束來需要一個具有不同簽名的構造函數嗎?例如Public Class Class2(Of X As {Class1,New(y as integer)})。我得到這個錯誤.... – ChadD 2011-01-26 15:43:32