Question

Je pose cette question parce que je trouve très dangereux de distribuer la définition de classe de manière à ne pas être vraiment sûr de tout savoir à ce sujet. Même si je trouve trois définitions partielles, comment puis-je savoir qu'il n'y en a pas une quatrième quelque part?

Je suis nouveau en C #, mais j'ai passé 10 ans avec C ++, c'est peut-être pour ça que je suis bouleversé?

Quoi qu’il en soit, le " partiel " le concept doit avoir un grand avantage, qui me manque évidemment. J'aimerais en savoir plus sur la philosophie qui la sous-tend.

MODIFIER: Désolé, vous avez raté cette copie lors de la recherche de publications existantes.

Était-ce utile?

La solution

Les classes partielles sont pratiques lors de l’utilisation de la génération de code. Si vous souhaitez modifier une classe générée (plutôt que d'en hériter), vous courez le risque de perdre vos modifications lorsque le code est régénéré. Si vous êtes en mesure de définir vos méthodes supplémentaires, etc., dans un fichier séparé, les parties générées de la classe peuvent être recréées sans modifier le code créé à la main.

Autres conseils

Le grand avantage est de masquer le code généré par ordinateur (par le concepteur).
Eric Lippert a récemment publié un article sur le blog mot-clé-partiel en général.

Une autre utilisation pourrait être de donner à des classes imbriquées leur propre fichier.

Un autre point est que, lorsqu'une classe implémente plusieurs interfaces, vous pouvez diviser les implémentations d'interface sur des fichiers différents.

Ainsi, chaque fichier de code ne contient que le code qui appartient à la mise en œuvre de l'interface. C’est selon le concept de séparation des préoccupations .

Deux personnes qui modifient la même classe et le code de concepteur généré automatiquement sont les deux fonctionnalités immédiates que je peux voir qui ont été résolues par des classes et des méthodes partielles.

Avoir du code généré par le concepteur dans un fichier séparé est beaucoup plus facile à travailler par rapport à la version 1.1, dans laquelle votre code pouvait souvent être mutilé par Visual Studio (dans les formulaires Windows).

Visual Studio continue de gâcher la synchronisation du fichier de concepteur, du code derrière et du fichier de conception avec ASP.NET.

Si vous avez une classe assez absurde qui, pour une raison quelconque, est incapable ou non autorisée à se diviser logiquement en classes plus petites, vous pouvez au moins les diviser physiquement en plusieurs fichiers afin de pouvoir les utiliser plus efficacement. Essentiellement, vous pouvez afficher de petits morceaux à la fois en évitant de faire défiler de haut en bas.

Cela pourrait s’appliquer au code existant qui, peut-être en raison de certaines politiques obscures, ne peut pas manipuler l’API existante en raison de nombreuses dépendances enracinées.

Ce n'est pas nécessairement la meilleure utilisation des classes partielles, mais vous donne certainement une autre option pour organiser le code que vous ne pourriez peut-être pas modifier autrement.

peut-être que c'est trop tard, mais laissez-moi ajouter mes 2 centimes aussi:

*. Lorsque vous travaillez sur de gros projets, la répartition d'une classe sur des fichiers distincts permet à plusieurs programmeurs de travailler simultanément.

*. Vous pouvez facilement écrire votre code (pour des fonctionnalités étendues) pour une classe générée par VS.NET. Cela vous permettra d’écrire le code de vos propres besoins sans jouer avec le code généré par le système

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top