我试图创建一个抽象控件来管理我们应用程序中的一些状态。但是,我遇到了一些 CLS 问题,并希望有人能提供一些见解。
我有一个这样的枚举:
<Flags()> _
Public Enum FormState
Read = 1
Edit = 2
Insert = 4
End Enum
还有一个这样的类:
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
当我尝试编译此代码时,我得到一个警告,即State属性不符合 CLS 且state参数也不符合。怎么会?我该如何纠正这个问题以消除警告?
- 我试图将 <CLSCompliant(True)> 属性添加到这两个项目,但没有成功
- 我试图将 MSDN 文章Non-CLS-compliant 'MustOverride' member is not allowed in a CLS-compliant传播到没有结果的代码中
- 我尝试将访问器更改
Friend
为Public
- 我尝试为 Enum (
Integer
andUInteger
)指定类型