VB.NET中的CLS合规性问题

时间:2013-02-09 23:42:32

标签: 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

1 个答案:

答案 0 :(得分:0)

我能够通过在Build上启用代码分析并使用“Microsoft All Rules”来重现此错误。 要将BaseModel标记为符合CLS,请在<Assembly: CLSCompliant(True)>之前添加Namespace Core您可以找到更多信息here