Est-il possible de déclarer une classe partielle dans deux projets

Considérons que nous créons une classe partielle dans Project1 et que nous avons un Project2 qui fait référence à Project1. Comment est-il possible de déclarer une autre méthode de classe partielle dans Project2 ?

Merci

La construction partielle n’est qu’une fonctionnalité du compilateur, permettant à une classe d’être étalée dans plusieurs fichiers source. La classe compilée vit toujours dans une et une seule bibliothèque de classes (fichier dll).

Il y a deux façons d’étendre une classe dans une autre bibliothèque:

  • Héritage, sauf si la classe est sealed . Cela nécessite que le code appelant gère toute l’instanciation d’object pour instancier la nouvelle classe dérivée.
  • Les méthodes d’extension, qui donnent au code l’apparence de nouvelles méthodes sur cette classe, mais ce n’est que du sucre syntaxique. Cela ne changera pas la classe elle-même.

Il n’est pas possible d’étendre une classe partielle dans un autre projet. Le partiel n’est que le sucre de compilateur. Le compilateur créera une seule classe dans l’assemblage résultant.

Vous pouvez utiliser les méthodes d’extension qui vous permettent de créer des méthodes supplémentaires pour la classe existante.

Les classes partielles ne peuvent pas exister hors des limites d’assemblages latérales!