Le C++ ami mot-clé permet à l' class A
de désigner class B
comme son ami. Cela permet d' Class B
pour accéder à l' private
/protected
des membres de l' class A
.
Je n'ai jamais lu quoi que ce soit pour expliquer pourquoi il a été laissé de C# (et VB.NET). La plupart des réponses à cette plus tôt StackOverflow question semblent dire que c'est une partie utile de C++ et il y a de bonnes raisons de l'utiliser. Dans mon expérience, je serais d'accord.
Une autre question me semble être vraiment savoir comment faire quelque chose de similaire friend
dans une application C#. Bien que les réponses généralement tournent autour de classes imbriquées, il ne semble pas tout à fait élégant, à l'aide de l' friend
mot-clé.
L'origine des Modèles de Conception de livre utilise régulièrement tout au long de ses exemples.
Donc en résumé, pourquoi est - friend
manquants à partir de C#, et quelle est la "meilleure pratique" (ou les moyens) de la simulation en C#?
(En passant, l' internal
mot-clé n'est pas la même chose, il permet à toutes les catégories à l'intérieur de l'ensemble de l'assemblée pour accéder internal
des membres, tandis que d' friend
vous permet de donner une certaine classe de l'accès complet à exactement une autre classe)