Поделитесь перечислением между проектами - PullRequest
0 голосов
/ 30 мая 2018

Я разрабатываю решение на C # и .NET Framework 4.7.

У меня есть перечисление, которое я должен разделить между многими проектами.Мне нужно только поделиться перечислением, а не другими классами, которые есть в этом проекте.

Нужно ли создавать библиотеку классов с перечислением, чтобы разрешить делиться ею между другими проектами?

Iдумаю, это слишком много: создайте проект только для перечисления.

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

1 Ответ

0 голосов
/ 30 мая 2018

Я думаю, что это слишком много: создайте проект только для перечисления.

Это не является нейтральным вопросом, если вы уже предлагаете ответ.:)

Во-вторых, такая тема была бы лучше для https://codereview.stackexchange.com/ ИМХО.

Но на вопрос: вы можете избежать извлечения проекта с одним перечислением, если вы обрабатываетеэто как обычный контракт данных: вы определяете перечисление с обеих сторон и реализуете сопоставление между ними.

Конечно, у него есть недостатки: вам нужно продублировать перечисление и выполнить сериализацию и десериализацию.Тривиальный способ сделать это - передать базовое значение int или имя поля enum и переназначить его на другую сторону.

Вы не предоставили никаких дополнительных подробностей, поэтому я не могу сказать, действительно ли это будетЛучшее решение, но, как правило, если не задействованы (может быть, только архитектурно) удаленные компоненты, то я бы выбрал отдельный проект (возможно, с именем Common или Model), на который могут ссылаться все стороны.Однако я с трудом могу представить модель данных, в которой только один тип enum является единственным типом для хранения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...