使用英语阅读

通过


BC40032:Enum 的基础类型 <typename> 不符合 CLS

为此枚举指定的数据类型不属于语言独立和语言独立组件 (CLS)。 这不是你的组件中的错误,因为 .NET Framework 和 Visual Basic 支持这种数据类型。 但是,用严格符合 CLS 的代码编写的另一个组件可能不支持这种数据类型。 这样的组件可能无法与你的组件成功交互。

以下 Visual Basic 数据类型不符合 CLS:

默认情况下,此消息是一个警告。 有关隐藏警告或将警告视为错误的详细信息,请参见 Configuring Warnings in Visual Basic

错误 ID:BC40032

更正此错误

  • 如果你的组件仅与其他 .NET Framework 组件接口,或者不与任何其他组件接口,则无需更改任何内容。

  • 如果你正在与不是为 .NET Framework 编写的组件进行交互,或许可以通过反射或文档来确定它是否支持这种数据类型。 如果是支持,则无需更改任何内容。

  • 如果你与不支持此数据类型的组件交互,则必须将其替换为最接近的符合 CLS 的类型。 例如,如果不需要 2147483647 以上的数值范围,可以使用 UInteger 取代 Integer 。 如果确实需要更大范围,可以用 UInteger 代替 Long

  • 如果在与自动化或 COM 对象对接,请记住,某些类型具有与 .NET Framework 中不同的数据宽度。 例如,uint 在其他环境中通常为 16 位。 如果将一个 16 位自变量传递给此类组件,请在托管 Visual Basic 代码中将其声明为 UShort 而不是 UInteger

另请参阅