Как использовать класс C # во многих проектах внутри одного и того же решения

#c# #visual-studio

#c# #visual-studio

Вопрос:

Я изучаю C # и я не знаю точно, как сделать класс видимым для всех проектов внутри решения. В принципе, у меня много проектов, все Windows Forms, все они имеют некоторое сходство, поэтому они могут использовать множество общих классов. Я думаю, что хороший подход заключается в том, чтобы поместить все общие классы в папку решения и заставить все приложения получать классы оттуда. Это хороший подход? Как это сделать? Я думаю, что другой способ сделать это — поместить все общие классы в одно приложение, а остальные получат эти ссылки.

Если это не очень хороший подход, какой из них? Как это сделать?

Я использую Visual Studio 2019. Вот как выглядит мое решение, но я не могу разделить классы между проектами: введите описание изображения здесь

Комментарии:

1. Вы помещаете его в библиотеку классов, то есть в другой проект, и ссылаетесь на эту библиотеку классов в своих проектах

Ответ №1:

Создайте проект библиотеки классов в своем решении и поместите туда свои общие классы (щелкните правой кнопкой мыши на своем решении в обозревателе решений, Добавить, Новый проект). Затем для каждого из проектов, из которых вы хотите получить доступ к классам, щелкните правой кнопкой мыши Зависимости, добавьте ссылку на проект и отметьте созданный вами проект библиотеки классов.

Комментарии:

1. Существует множество опций, таких как » Библиотека классов (стандарт .NET) «, «Библиотека пользовательских элементов управления WPF (.NET)» и т.д. Я думаю, что лучшим вариантом будет » Библиотека классов (.NET Core) «, не так ли?

2. Я вижу, что другие ваши проекты являются .NET Core, так что да

Ответ №2:

Вы создаете проект библиотеки классов, и там вы хотели бы добавить папки, в которых вы можете называть их в соответствии с тем, что будут делать классы, чтобы их было легче поддерживать. Затем вы должны добавить свои классы в соответствующую папку, а в проект, в котором вы хотите использовать класс, вы можете добавить ссылку на проект, и класс будет доступен, если он является общедоступным классом.