BC40035: <proceduresignature1> is not CLS-compliant because it overloads <proceduresignature2> which differs from it only by array of array parameter types or by the rank of the array parameter types
A procedure or property is marked as <CLSCompliant(True)>
when it overrides another procedure or property and the only difference between their parameter lists is the nesting level of a jagged array or the rank of an array.
In the following declarations, the second and third declarations generate this error:
Overloads Sub ProcessArray(arrayParam() As Integer)
Overloads Sub ProcessArray(arrayParam()() As Integer)
Overloads Sub ProcessArray(arrayParam(,) As Integer)
The second declaration changes the original one-dimensional parameter arrayParam
to an array of arrays. The third declaration changes arrayParam
to a two-dimensional array (rank 2). While Visual Basic allows overloads to differ only by one of these changes, such overloading is not compliant with the Language Independence and Language-Independent Components (CLS).
When you apply the CLSCompliantAttribute to a programming element, you set the attribute's 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.
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 Configuring Warnings in Visual Basic.
Error ID: BC40035
To correct this error
- If you require CLS compliance, define your overloads to differ from each other in more ways than only the changes cited on this Help page.
- If you require that the overloads differ only by the changes cited on this Help page, remove the CLSCompliantAttribute from their definitions or mark them as
<CLSCompliant(False)>
.
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for