Я разбиваю старый проект на составные части, чтобы отдельные компоненты можно было использовать в нескольких других проектах.
Существует около 4 этапов, которые разделены на компоненты и 3 основных проекта, которые будут ссылаться на эти компоненты.
Существует основной класс (расположенный в общем проекте, назовите его мастер-классом для справки), который согласован во всем, что является общим. Я настроил общий проект и добавил ссылки, все работает нормально.
Проблема возникает при попытке передать переменную с использованием класса A (ссылку из версии мастер-класса Project A) в метод в версии мастер-класса для компонента A. Я получаю проблемы с совместимостью. (Вдоль строк невозможно неявно преобразовать MasterClassA в MasterClassA)
Я знаю, что они идентичны, и я понимаю, что они, по сути, являются отдельным экземпляром Мастер-класса, поэтому в настоящее время они несовместимы.
Я изучил generics/reflection, перешел на класс Portable Library и, похоже, ходил по кругу. Я знаю, что отражение медленное, поэтому я хотел бы избежать его, если это возможно.
Любые рекомендации по передовой практике и как решить проблему? Вот грубая схема компоновки.