共用方式為


編譯器錯誤 CS0703

更新:2007 年 11 月

錯誤訊息

不一致的存取範圍︰條件約束型別 'identifier' 存取範圍低於 'identifier'

條件約束 (Constraint) 不能強制泛型參數的存取範圍低於泛用類別本身。在下列範例中,雖然泛型類別 C<T> 宣告為 public,但條件約束會嘗試強制 T 實作內部介面。即使允許這麼做,仍只有具有內部存取權限的用戶端才能建立此類別的參數,因此實際上,只有具有內部存取權限的用戶端能夠使用此類別。

若要排除這個錯誤,請確定在泛型類別的範圍出現的任何類別或介面,其存取層級的限制要比泛用類別的存取層級更為嚴格。

下列範例會產生 CS0703:

// CS0703.cs
internal interface I {}
public class C<T> where T : I  // CS0703 – I is internal; C<T> is public
{
}