“<classname>”不符合 CLS,因为它所实现的接口“<interfacename>”不符合 CLS
更新:2007 年 11 月
当类或接口派生自标记为 <CLSCompliant(False)> 的类型或未标记的类型时,或者当类或接口实现这样的类型时,该类或接口被标记为 <CLSCompliant(True)>。
要让某个类或接口符合 公共语言规范 (CLS),它的整个继承层次结构必须是符合该规范的。这就意味着,它从中直接或间接继承的每个类型都必须是符合该规范的。同样,如果某个类实现一个或多个接口,则这些接口在它们的整个继承层次结构中都必须符合该规范。
将 CLSCompliantAttribute 应用于编程元素时,将该属性的 isCompliant 参数设置为 True 或 False 来指示符合或不符合。此参数没有默认值,您必须提供一个值。
如果没有将 CLSCompliantAttribute 应用于某个元素,则认为该元素是不符合的。
默认情况下,此消息是一个警告。有关隐藏警告或将警告视为错误的信息,请参见 在 Visual Basic 中配置警告。
**错误 ID:**BC40029
更正此错误
如果您要求符合 CLS,请在不同的继承层次结构或实现方案中定义此类型。
如果您要求此类型保留在它的当前继承层次结构或实现方案中,请从其定义中移除 CLSCompliantAttribute,或将其标记为 <CLSCompliant(False)>。