我試圖創建下面的類名的簽名:類約束必須出現在任何其他約束
public class MyClass<T> where T : struct, MyBase
(我使用結構約束,以枚舉)
我收到錯誤
The class type constraint 'MyBase' must come before any other constraints
我知道這條消息,但是,重新排列代碼我無法越過那個或其他語法錯誤。如果可以的話,我該如何修復這條線?
如果必須,我會刪除struct
。
謝謝
謝謝大家,因爲你們用不同的方式閱讀你的不同選擇。 – 2012-02-01 00:27:24
壞消息傳播緩慢,你不能限制System.Enum的類型參數。歷史對枚舉並不友好,它們的實現類型具有不同的大小,從而在結構上不兼容。 C語言中的一個優化太多了,因爲互操作而被C#困住了。 – 2012-02-01 00:58:04