あるクラスC1の一部(またはすべて)の関数に、別のクラスC2内からのみアクセスできるようにしたいことがよくあります。これは、C2が一種のプロキシであるため、タイプC1のオブジェクトを所有しているためです(例:「Neuron」クラスのメソッド、「 connect() "、「Brain」からのみアクセス可能である必要があります)。これは、「private」や「protected」などのキーワードで可視性を指定できる継承とは異なり、C#では直接不可能だと思います。
そのような状況でのベストプラクティスは何ですか?