具有“Structure”约束的类型参数不能用作约束

更新:2007 年 11 月

带有 Structure 约束的类型参数被用作另一个类型参数的约束。

Structure 约束要求传递到其类型参数的类型变量必须为值类型。但是,由于无法实现或继承值类型,因此使用它作为约束毫无意义,约束将需要另一类型参数来实现它或从中继承。

对此情况唯一有意义的解释是:两种类型变量的类型必须完全相同。如果是这种情况,则您的泛型类型只需要一个类型参数。

以下语句可能会产生此错误。

Class c1(Of t1 As Structure, t2 As t1)

传递到 t2 的类型无法实现或继承传递到 t1 的类型,因为传递到 t1 的类型必须为值类型。

**错误 ID:**BC32114

更正此错误

  • 从另一类型参数上的约束列表中删除约束为 Structure 的类型参数。

  • 如果两个类型参数都需要同一值类型,请定义只带有一个类型参数的泛型类型。

请参见

概念

Visual Basic 中的泛型类型

值类型和引用类型

参考

类型列表

Structure (Visual Basic)