Programmation C sharp/Type partiel

Programmation C#
Modifier ce modèle

Le langage C# permet d'implémenter les classes, les structures et les interfaces sur plusieurs fichiers. Visual Studio .Net utilise cette fonctionnalité pour les fenêtres graphiques : une partie de la classe Form1 est implémentée dans le fichier Form1.cs et l'autre dans le fichier Form1.Designer.cs.

SyntaxeModifier

Chaque fichier implémentant une partie d'un type doit faire précéder le mot clé du type (class, struct ou interface) du mot clé partial :

mode_accès partial type nom ...
{
    ...
}

Exemple :

public partial class Exemple
{
}

Il n'est pas nécessaire que tous les fichiers précisent le mode d'accès ou la classe de base.

CompilationModifier

À la compilation d'un type partiel, tous les fichiers sources concernés doivent être spécifiés sur la ligne de commande d'appel au compilateur.

Méthode partielleModifier

Une méthode partielle permet de déclarer sa signature dans une partie d'un type partiel et de l'implémenter dans une autre partie[1] :

  • La méthode est obligatoirement privée (utilisable qu'en interne par la classe) et ne peut rien retourner (type void) ;
  • Il est possible que la méthode ne soit pas définie du tout. Dans ce cas, le compilateur supprime la déclaration et les appels à cette méthode.

Exemple :

partial class UneClasse
{
	partial void LogMessage(string s);
}

partial class UneClasse
{
	partial void LogMessage(String s)
	{
		Console.WriteLine("LOG>> {0}", s);
	}
}

RéférencesModifier

  1. https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/partial-method