3

以下の単純なクラスで 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
4

1 に答える 1

0

ビルドでコード分析を有効にし、「Microsoft All Rules」を使用することで、このエラーを再現できました。BaseModelCLS 準拠としてマークするには、<Assembly: CLSCompliant(True)>前に追加しNamespace Core てください 詳細については、こちらを参照してください。

于 2016-08-12T03:52:27.230 に答える