Programmation C sharp/Type partiel
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
.
Syntaxe
modifierChaque 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.
Compilation
modifierÀ 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 partielle
modifierUne 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);
}
}