Правильная организация зависимостей между проектами в C # - PullRequest
0 голосов
/ 26 апреля 2019

Добрый день.Как организовать следующую структуру с использованием C #, платформы .NET и проектов Visual Studio?

Решение должно содержать несколько проектов (в результате dll или winmd).FrameworkB и FrameworkC зависят от FrameworkA.ClassA из FrameworkA, ClassD из FrameworkB и ClassF из FrameworkC являются общедоступными и видимыми для пользователей платформы;другие классы для них недоступны (нет возможности создавать объекты или вызывать методы).В этом случае из ClassE и ClassG мы сможем использовать методы из ClassB и ClassC.

Итак:

  • FrameworkA,FrameworkB и FrameworkC должны быть разными .dll или .winmd файлами (но B и C зависят от A).
  • ClassB, ClassC,ClassE и ClassG должны быть частными для конечных пользователей платформы, но B и C должны быть видны и использоваться E и G.
Solution
    FrameworkA
        ClassA
        ClassB
        ClassC
    FrameworkB
        ClassD
        ClassE
    FrameworkC
        ClassF
        ClassG

1 Ответ

0 голосов
/ 26 апреля 2019

Согласно этому ответу , вы можете использовать атрибут InternalsVisibleTo и использовать модификатор внутреннего доступа для классов B и C.

Таким образом, классы из первой сборки могут использоваться другимидва, но не клиентским программным обеспечением.

...