下面的简单类有什么不符合 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/