質問

私たを抽象化された制御管理の状態です。しかしながら、ラボの一部CLSの課題としたい人に提供できる、一部の気づきを得ることになる。

私は列挙など:

<Flags()> _
Public Enum FormState
    Read = 1
    Edit = 2
    Insert = 4
End Enum

Aクラスなど:

Public MustInherit Class Fields
    Inherits System.Web.UI.UserControl

    Public Property State() As Enumerators.FormState
        Get
            Return _State
        End Get

        Set(ByVal value As Enumerators.FormState)
            _State = value
            ToggleState(value)
        End Set
    End Property

    Protected MustOverride Sub ToggleState(ByVal state As FormState)
End Class

ようとするとコンパイルのこのコードに残ることを警告する 状態 プロパティは中核的労働基準に準拠しに関する情報は見つかりませんでし 状態 引数です。これはなぜなのでしょうか?どうしたいので正しいこの問題を除去を示す

役に立ちましたか?

解決

あなたのコードを見てみると、列挙型は、列挙子と呼ばれるクラスの一部であるように思われます。このクラスは、コードに表示されていないが、私はあなたがそれを完全に制御を持っていると仮定しています。

クラスは、同様にCLS準拠した属性でタグ付けする必要があります。

他のヒント

クラス、メソッドとプロパティは次のように見えるように、

の警告を削除するには、次の属性を追加します:

<CLSCompliant(False)> _
Public MustInherit Class Fields
    Inherits System.Web.UI.UserControl

    <CLSCompliant(False)> _
    Public Property State() As Enumerators.FormState
        Get
            Return _State
        End Get

        Set(ByVal value As Enumerators.FormState)
            _State = value
            ToggleState(value)
        End Set
    End Property

    <CLSCompliant(False)> _
    Protected MustOverride Sub ToggleState(ByVal state As FormState)
End Class

これは、あなたが警告を削除したいコンパイラに、あなたはあなたのコードがCLSCompliantではない認識していることを意味します。

それはあなたが値0でアイテムを持っていないことが考えられます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top