Guide pratique pour diviser une classe en classes partielles dans le Concepteur de classesHow to: Split a class into partial classes in Class Designer

Vous pouvez utiliser le mot clé partial (Partial en Visual Basic) pour diviser la déclaration d’une classe ou d’une structure en plusieurs déclarations.You can use the partial keyword (Partial in Visual Basic) to divide the declaration of a class or structure among several declarations. Vous pouvez utiliser autant de déclarations partielles que vous le souhaitez.You can use as many partial declarations as you want.

Les déclarations peuvent figurer dans un ou plusieurs fichiers sources.The declarations can be in one or in multiple source files. Toutes les déclarations doivent être dans le même assembly et le même espace de noms.All the declarations must be in the same assembly and the same namespace.

Les classes partielles sont utiles dans plusieurs situations.Partial classes are useful in several situations. Sur un grand projet, par exemple, le fait de séparer une classe en plusieurs fichiers permet à plusieurs programmeurs de travailler sur le projet en même temps.On a large project, for example, separating a class into multiple files enables more than one programmer to work on the project at same time. Quand vous utilisez du code généré par Visual Studio, vous pouvez changer la classe sans avoir à recréer le fichier source.When you're working with code that Visual Studio generates, you can change the class without having to re-create the source file. (Le code Windows Forms et le code wrapper de service web sont des exemples de code généré par Visual Studio.) Vous pouvez donc écrire du code qui utilise des classes autogénérées sans avoir à modifier le fichier créé par Visual Studio.(Examples of code that Visual Studio generates include Windows Forms and web service wrapper code.) You can thus create code that uses auto-generated classes without having to modify the file that Visual Studio creates.

Il existe deux types de méthodes partielles.There are two kinds of partial methods. En C#, on parle de méthodes déclarantes et implémentantes. En Visual Basic, on parle de méthodes de déclaration et d’implémentation.In C#, they are called declaring and implementing; in Visual Basic, they are called declaration and implementation.

Le Concepteur de classes prend en charge les classes et les méthodes partielles.Class Designer supports partial classes and methods. La forme de type du diagramme de classes fait référence à un emplacement de déclaration unique de la classe partielle.The type shape in the class diagram refers to a single declaration location for the partial class. Si la classe partielle est définie dans plusieurs fichiers, vous pouvez spécifier l’emplacement de déclaration utilisé par le Concepteur de classes en définissant la propriété Nouvel emplacement de membre dans la fenêtre Propriétés.If the partial class is defined in multiple files, you can specify which declaration location Class Designer will use by setting the New Member Location property in the Properties window. Autrement dit, quand vous double-cliquez sur une forme de classe, le Concepteur de classes accède au fichier source qui contient la déclaration de classe identifiée par la propriété Nouvel emplacement de membre.That is, when you double-click a class shape, Class Designer goes to the source file that contains the class declaration identified by the New Member Location property. Quand vous double-cliquez sur une méthode partielle dans une forme de classe, le Concepteur de classes accède à la déclaration de méthode partielle.When you double-click a partial method in a class shape, Class Designer goes to the partial method declaration. En outre, dans la fenêtre Propriétés, la propriété Nom de fichier référence l’emplacement de la déclaration.Also, in the Properties window, the File Name property refers to the declaration location. Pour les classes partielles, la propriété Nom de fichier répertorie tous les fichiers qui contiennent du code de déclaration et d’implémentation pour cette classe.For partial classes, File Name lists all of the files that contain declaration and implementation code for that class. Toutefois, pour les méthodes partielles, la propriété Nom de fichier répertorie uniquement le fichier qui contient la déclaration de méthode partielle.However, for partial methods, File Name lists only the file that contains the partial method declaration.

L’exemple suivant fractionne la définition de la classe Employee en deux déclarations, dont chacune définit une procédure différente.The following examples split the definition of class Employee into two declarations, each of which defines a different procedure. Les deux définitions partielles des exemples peuvent se trouver dans le même fichier source ou dans deux fichiers sources différents.The two partial definitions in the examples could be in one source file or in two different source files.

Note

Visual Basic utilise des définitions de classe partielle pour séparer le code généré par Visual Studio du code créé par l’utilisateur.Visual Basic uses partial-class definitions to separate Visual Studio—generated code from user-authored code. Le code est réparti dans des fichiers sources distincts.The code is separated into discrete source files. Par exemple, le Concepteur Windows Form définit des classes partielles pour des contrôles tels que Form.For example, the Windows Form Designer defines partial classes for controls such as Form. Vous ne devez pas modifier le code généré dans ces contrôles.You should not modify the generated code in these controls.

Pour plus d’informations sur les types partiels en Visual Basic, consultez Partiel.For more information about partial types in Visual Basic, see Partial.

ExempleExample

Pour diviser une définition de classe, utilisez le mot clé partial (Partial en Visual Basic), comme indiqué dans l’exemple suivant :To split a class definition, use the partial keyword (Partial in Visual Basic), as shown in the following example:

// First part of class definition.
public partial class Employee
{
    public void CalculateWorkHours()
    {
    }
}

// Second part of class definition.
public partial class Employee
{
    public void CalculateTaxes()
    {
    }
}
' First part of class definition.
Partial Public Class Employee
    Public Sub CalculateWorkHours()
    End Sub
End Class

' Second part of class definition.
Partial Public Class Employee
    Public Sub CalculateTaxes()
    End Sub
End Class

Voir aussiSee also