更新:2007 年 11 月
为此成员指定的数据类型不是 公共语言规范 (CLS) 的组成部分。在您的组件中,这不是错误,因为 .NET Framework 和 Visual Basic 支持此数据类型。但是,另一个在严格符合 CLS 的代码中编写的组件可能不支持此数据类型。此类组件可能无法与您的组件成功进行交互。
以下 Visual Basic 数据类型不符合 CLS:
默认情况下,此消息是一个警告。有关隐藏警告或将警告视为错误的更多信息,请参见 在 Visual Basic 中配置警告。
**错误 ID:**BC40025
更正此错误
如果您的组件只与其他 .NET Framework 组件交互,或者不与任何其他组件交互,您无需更改任何内容。
如果要与并非针对 .NET Framework 编写的组件交互,您可能能够通过反射或依据文档确定它是否支持此数据类型。如果支持,您无需更改任何内容。
如果要与不支持此数据类型的组件交互,您必须将其替换为最接近的符合 CLS 的类型。例如,您可以使用 Integer 替换 UInteger(如果您不需要 2,147,483,647 以上的数值范围)。如果您确实需要扩展的范围,可以将 UInteger 替换为 Long。
如果要与自动化或 COM 对象交互,请记住,某些类型具有与 .NET Framework 中不同的数据宽度。例如,uint 在其他环境中通常为 16 位。如果要将某个 16 位参数传递给此类组件,请在托管 Visual Basic 代码中将其声明为 UShort(而不是 UInteger)。