vb.net - VB.NET 中的 CLS 合规性问题

标签 vb.net cls-compliant

下面的简单类有什么不符合 CLS 的地方?

我收到警告,指出我的派生类不符合 CLS,因为它继承自下面的类,而该类显然不符合 CLS。

Public MustInherit Class BaseModel

    Protected MustOverride Sub SetIDValue(nValue As Long)

End Class

是的 - 以上是该类的完整代码。

以下是基类和派生类的完整文件:

基类:

Imports System.ComponentModel.DataAnnotations

Namespace Core

    Public MustInherit Class BaseModel

        Protected MustOverride Sub SetIDValue(nValue As Long)

    End Class

End Namespace

派生类:

Imports Snap.Core
Imports System.ComponentModel.DataAnnotations


Public Class SystemValueModel
    Inherits BaseModel

    Public Sub New()

    End Sub


    Public ID_SystemValue As Long

    <Required()> <StringLength(25)>
    Public Token As String

    <Required()> <StringLength(255)>
    Public Value As String

    Protected Overrides Sub SetIDValue(nValue As Long)
        'Nada
    End Sub

End Class

最佳答案

我能够通过在构建时启用代码分析并使用“Microsoft 所有规则”来重现此错误。 标记BaseModel作为 CLS 兼容,添加 <Assembly: CLSCompliant(True)>之前Namespace Core您可以找到更多信息here .

关于vb.net - VB.NET 中的 CLS 合规性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14792919/

相关文章:

c# - 如何使用 C# 禁用 CLS 合规性检查

c# - 什么 C# 命名方案可用于符合 CLS 的属性和成员?

asp.net - 字符支持问题 - 如何将较高的 ASCII 字符转换为较低的 ASCII 字符

c# - 更改默认 Windows 键盘快捷键

javascript - 如何以vb.net Web形式创建简单的 Accordion

c# - 用于命名 CLS 兼容替代属性的模式

.net - 如何使用 SevenZipSharp 创建压缩的 SFX 文件?

vb.net - 由于启动表单关闭而导致启动画面线程错误

c# - 为什么这个 CLS 不兼容?