Non-CLS-compliant <membername> is not allowed in a CLS-compliant interface
A property, procedure, or event in an interface is marked as <CLSCompliant(True)> when the interface itself is marked as <CLSCompliant(False)> or is not marked.
For an interface to be compliant with the(CLS), all its members must be compliant.
When you apply the isCompliant parameter to either True or False to indicate compliance or noncompliance. There is no default for this parameter, and you must supply a value.to a programming element, you set the attribute's
If you do not apply the CLSCompliantAttribute to an element, it is considered to be noncompliant.
By default, this message is a warning. For information on hiding warnings or treating warnings as errors, see.
Error ID: BC40033
To correct this error
If you require CLS compliance and have control over the interface source code, mark the interface as <CLSCompliant(True)> if all its members are compliant.
If you require CLS compliance and do not have control over the interface source code, or if it does not qualify to be compliant, define this member within a different interface.
If you require that this member remain within its current interface, remove the CLSCompliantAttribute from its definition or mark it as <CLSCompliant(False)>.