Я попытался создать абстрактный элемент управления для управления некоторым состоянием в нашем приложении. Тем не менее, я столкнулся с некоторыми проблемами CLS и надеялся, что кто-то может дать некоторое представление.Понимание соответствия 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
При попытке скомпилировать этот код, который я оставил с предупреждением о том, что государство собственности не является совместимым с CLS, и не является аргументом . Как так? И как я могу исправить эту проблему, чтобы удалить предупреждения?
- Я попытался добавить < CLSCompliant (True)> атрибут для обоих элементов не повезло
- Я попытался распространить статью MSDN Non-CLS-compliant 'MustOverride' member is not allowed in a CLS-compliant в код без каких-либо результатов
- Я ве попытался изменить аксессор к
Friend
вместоPublic
- Я попытался указать тип для Enum (
Integer
иUInteger
)
Если вы только собираетесь игнорировать предупреждения, почему вы заботитесь о ЦБС в первую очередь? – MichaelGG
Мне интересно то же самое. –
Я предпочел бы понять предупреждения и то, что они означают, тогда их прямо удалить/проигнорировать. Извините за недоразумение. –