CA1026 : Les paramètres par défaut ne doivent pas être utilisésCA1026: Default parameters should not be used

TypeNameTypeName DefaultParametersShouldNotBeUsedDefaultParametersShouldNotBeUsed
CheckIdCheckId CA1026CA1026
CategoryCategory Microsoft.DesignMicrosoft.Design
Modification avec ruptureBreaking Change RuptureBreaking

CauseCause

Un type visible de l’extérieur contient une méthode extérieurement visible qui utilise un paramètre par défaut.An externally visible type contains an externally visible method that uses a default parameter.

Description de la règleRule Description

Les méthodes qui utilisent les paramètres par défaut sont autorisées sous le Common Language Specification (CLS) ; Toutefois, cette spécification permet aux compilateurs d’ignorer les valeurs assignées à ces paramètres.Methods that use default parameters are allowed under the Common Language Specification (CLS); however, the CLS allows compilers to ignore the values that are assigned to these parameters. Code qui est écrit pour les compilateurs qui ignorent les valeurs de paramètre par défaut doit fournir explicitement des arguments pour chaque paramètre par défaut.Code that is written for compilers that ignore default parameter values must explicitly provide arguments for each default parameter. Pour préserver le comportement souhaité entre les langages de programmation, les méthodes qui utilisent les paramètres par défaut doivent être remplacées par les surcharges de méthode qui fournissent les paramètres par défaut.To maintain the behavior that you want across programming languages, methods that use default parameters should be replaced with method overloads that provide the default parameters.

Le compilateur ignore les valeurs de paramètres par défaut pour les extensions managées pour C++ lorsqu’il accède à du code managé.The compiler ignores the values of default parameters for Managed Extension for C++ when it accesses managed code. Le compilateur Visual Basic prend en charge les méthodes qui ont des paramètres par défaut qui utilisent le facultatif (mot clé).The Visual Basic compiler supports methods that have default parameters that use the Optional keyword.

Comment corriger les violationsHow to Fix Violations

Pour corriger une violation de cette règle, remplacez la méthode qui utilise les paramètres par défaut avec des surcharges de méthode qui fournissent les paramètres par défaut.To fix a violation of this rule, replace the method that uses default parameters with method overloads that supply the default parameters.

Quand supprimer les avertissementsWhen to Suppress Warnings

Ne supprimez aucun avertissement de cette règle.Do not suppress a warning from this rule.

ExempleExample

L’exemple suivant montre une méthode qui utilise les paramètres par défaut et les méthodes surchargées qui offrent une fonctionnalité équivalente.The following example shows a method that uses default parameters, and the overloaded methods that provide an equivalent functionality.

Imports System

<Assembly: CLSCompliant(True)>
Namespace DesignLibrary

    Public Class DefaultVersusOverloaded

        Sub DefaultParameters(Optional parameter1 As Integer = 1, _
                              Optional parameter2 As Integer = 5)
            ' ...
            Console.WriteLine("{0} : {1}", parameter1, parameter2)
        End Sub

        Sub OverloadedMethod()
            OverloadedMethod(1, 5)
        End Sub

        Sub OverloadedMethod(parameter1 As Integer)
            OverloadedMethod(parameter1, 5)
        End Sub

        Sub OverloadedMethod(parameter1 As Integer, parameter2 As Integer)
            ' ...
            Console.WriteLine("{0} : {1}", parameter1, parameter2)
        End Sub

    End Class

End Namespace

CA1025 : Remplacez les arguments répétitifs par un tableau paramsCA1025: Replace repetitive arguments with params array

Voir aussiSee Also

Indépendance du langage et composants indépendants du langageLanguage Independence and Language-Independent Components