Как создать класс в c visual studio
Перейти к содержимому

Как создать класс в c visual studio

  • автор:

Урок #14 – Создание классов и объектов

Урок #14 – Создание классов и объектов

Мы с вами приступаем к практической реализации ООП. За урок мы научимся прописывать классы и объекты в языке программирования C#. Нами будет создан класс для описания робота.

Видеоурок

Создание классов

Для создания класса необходимо прописать ключевое слово class и далее название для класса. Общепринято начинать названия классов с буквы в верхнем регистре, но если этого не сделать, то ошибки не будет.

В любом классе можно создавать поля (переменные), методы (функции), а также конструкторы.

Создав новый класс и поместив туда какую-либо информацию мы можем создавать на основе него новые объекты. Объекты будут иметь доступ ко всем характеристикам класса, которые отмечены модификатором public .

Существует три модификатора доступа:

  • public — данные будут видны повсюду, как в классе, так и вне его;
  • protected — данные будут видны только в классе, где они были созданы, а также в классах наследниках;
  • private — данные будут видны только в классе, где они были созданы.

Пример простого класса приведен ниже:

class Book < public int pages; public string name; public float weight; public void getInfoBook () < Console.WriteLine("В книге " + name + " находиться " + pages + " страниц. "); Console.WriteLine("При этом она весит " + weight); >>

На основе такого класса мы можем создать множество объектов. Каждый объект в данном случае будет представлять из себя конкретную книжку. Для каждого объекта мы можем указать уникальные данные: количество страниц, название книги и её вес.

Чтобы создать объект нам потребуется следующий код:

Book sherlock_holms; // объявление переменной sherlock_holms = new Book(); // выделение памяти под объект Book sherlock_holms.getInfoBook();

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

Чтобы брать данные из класса через объект необходимо ставить точку и указывать имя переменной или функции, которую мы хотим взять.

Весь код будет доступен после подписки на проект!

Добавление класса

Чтобы добавить класс в проект Visual Studio C++, в обозревателе решений щелкните правой кнопкой мыши проект, выберите Добавить, а затем Класс. Откроется диалоговое окно Добавление класса.

При добавлении класса нужно указать имя, которое отличается от классов, уже существующих в MFC или ATL. Если указать имя, которое уже существует в одной из библиотек, интегрированная среда разработки выводит сообщение об ошибке.

Если по соглашению об именовании нужно использовать существующее имя, можно просто изменить регистр одной или нескольких букв в имени, так как C++ учитывает регистр. Например, хотя вы не можете назвать класс CDocument , можно назвать его cdocument .

Класс какого типа вы хотите добавить?

В диалоговом окне Добавление класса при развертывании узла Visual C++ на левой панели отображаются несколько групп установленных шаблонов. К этим группам относятся CLR, ATL, MFC и C++. При выборе группы на средней панели отображается список доступных шаблонов в этой группе. Каждый шаблон содержит необходимые для класса файлы и исходный код.

Чтобы создать класс, выберите шаблон в средней области, введите имя класса в поле Имя и нажмите Добавить. Откроется мастер добавления классов, где можно указать параметры для класса.

  • Дополнительные сведения о создании классов MFC см. в разделе Класс MFC.
  • Дополнительные сведения о создании классов ATL см. в разделе Простой объект ATL.

Шаблон Добавление поддержки ATL в MFC не создает класс, а настраивает проект для использования библиотеки ATL. Дополнительные сведения см. в разделе Поддержка ATL в проекте MFC.

Чтобы создать класс C++, который не использует MFC, ATL или CLR, воспользуйтесь шаблоном Класс C++ в группе C++ установленных шаблонов. Дополнительные сведения см. в разделе Добавление универсального класса C++.

Доступны два типа классов C++ на основе форм. Первый — класс CFormView — создает класс MFC. Второй создает класс Windows Forms для среды CLR.

Диалоговое окно «Добавление класса»

В Visual Studio 2015 диалоговое окно Добавление класса содержит шаблоны, которые позволяют выполнить следующие действия.

  • Открыть соответствующий мастер создания кода, если он доступен. Дополнительные сведения см. в разделе Добавление функциональных возможностей с помощью мастеров кода. — или —
  • Автоматически создать новый класс, добавив в проект соответствующие файлы и исходный код.

Перейти к диалоговому окну Добавление класса можно из меню Проект, обозревателя решений или представления классов.

При попытке добавить класс, который не подходит для текущего проекта, вы получите сообщение об ошибке. Нажмите ОК, чтобы вернуться в диалоговое окно Добавление класса.

В Visual Studio 2017 и более поздних версиях диалоговое окно Добавление класса — это диалоговое окно универсального класса C++. Дополнительные сведения см. в разделе Добавление универсального класса C++.

Диалоговое окно «Мастер классов»

Класс можно создать на основе установленных шаблонов в диалоговом окне Мастера классов. Чтобы использовать мастер классов, щелкните проект правой кнопкой мыши в обозревателе решений и выберите в контекстном меню пункт Мастер классов. При нажатии в диалоговом окне кнопки Добавить класс отображается раскрывающийся список для выбора шаблона.

Снимок экрана: диалоговое окно мастера классов C plus plus.

Можно также использовать мастер классов для изменения или просмотра существующего класса.

Добавление шаблонов классов

Существует четыре категории шаблонов добавления классов : .NET, ATL, MFC и универсальные.

.NET
Шаблон Мастер
Веб-служба ASP.NET; Недоступно
Класс компонента (.NET) Недоступно
Класс установщика (.NET) Недоступно
Пользовательский элемент управления (.NET) Недоступно
Форма Windows Forms (.NET) Недоступно
ATL
Шаблон Мастер
Добавление в MFC поддержки ATL Недоступно
Элемент управления ATL Мастер элементов управления ATL
Диалог ATL Мастер диалоговых окон ATL
Простой объект ATL Мастер простых объектов ATL
Поставщик событий WMI Мастер поставщика событий WMI
Поставщик экземпляров WMI Мастер поставщика экземпляра WMI
MFC
Шаблон Мастер
Класс MFC Мастер добавления классов MFC
Универсальные классы
Шаблон Мастер
Универсальный класс C++ Мастер универсальных классов C++

Классы, структуры и пространства имен

C# является полноценным объектно-ориентированным языком. Это значит, что программу на C# можно представить в виде взаимосвязанных взаимодействующих между собой объектов.

Описанием объекта является класс , а объект представляет экземпляр этого класса. Можно еще провести следующую аналогию. У нас у всех есть некоторое представление о человеке, у которого есть имя, возраст, какие-то другие характеристики. То есть некоторый шаблон — этот шаблон можно назвать классом. Конкретное воплощение этого шаблона может отличаться, например, одни люди имеют одно имя, другие — другое имя. И реально существующий человек (фактически экземпляр данного класса) будет представлять объект этого класса.

В принципе ранее уже использовались классы. Например, тип string , который представляет строку, фактически является классом. Или, например, класс Console , у которого метод WriteLine() выводит на консоль некоторую информацию. Теперь же посмотрим, как мы можем определять свои собственные классы.

По сути класс представляет новый тип, который определяется пользователем. Класс определяется с помощью ключевого слова сlass :

class название_класса < // содержимое класса >

После слова class идет имя класса и далее в фигурных скобках идет собственно содержимое класса. Например, определим в файле Program.cs класс Person, который будет представлять человека:

class Person

Классы и объекты в языке программирования C# и .NET

Начиная с версии C# 12, если класс имеет пустое определение, то фигурные скобки после названия типа можно не использовать:

class Person;

Однако такой класс не особо показателен, поэтому добавим в него некоторую функциональность.

Поля и методы класса

Класс может хранить некоторые данные. Для хранения данных в классе применяются поля . По сути поля класса — это переменные, определенные на уровне класса.

Кроме того, класс может определять некоторое поведение или выполняемые действия. Для определения поведения в классе применяются методы.

Итак, добавим в класс Person поля и методы:

class Person < public string name = "Undefined"; // имя public int age; // возраст public void Print() < Console.WriteLine($"Имя: Возраст: "); > >

В данном случае в классе Person определено поле name , которое хранит имя, и поле age , которое хранит возраст человека. В отличие от переменных, определенных в методах, поля класса могут иметь модификаторы, которые указываются перед полем. Так, в данном случае, чтобы все поля были доступны вне класса Person поля определены с модификатором public .

При определении полей мы можем присвоить им некоторые значения, как в примере выше в случае переменной name . Если поля класса не инициализированы, то они получают значения по умолчанию. Для переменных числовых типов это число 0.

Также в классе Person определен метод Print() . Методы класса имеют доступ к его поля, и в данном случае обращаемся к полям класса name и age для вывода их значения на консоль. И чтобы этот метод был виден вне класса, он также определен с модификатором public .

Создание объекта класса

После определения класса мы можем создавать его объекты. Для создания объекта применяются конструкторы . По сути конструкторы представляют специальные методы, которые называются так же как и класс, и которые вызываются при создании нового объекта класса и выполняют инициализацию объекта. Общий синтаксис вызова конструктора:

new конструктор_класса(параметры_конструктора);

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

Конструктор по умолчанию

Если в классе не определено ни одного конструктора (как в случае с нашим классом Person), то для этого класса автоматически создается пустой конструктор по умолчанию, который не принимает никаких параметров.

Теперь создадим объект класса Person:

Person tom = new Person(); // создание объекта класса Person // определение класса Person class Person < public string name = "Undefined"; public int age; public void Print() < Console.WriteLine($"Имя: Возраст: "); > >

создание классов в языке программирования C# и .NET

Для создания объекта Person используется выражение new Person() . В итоге после выполнения данного выражения в памяти будет выделен участок, где будут храниться все данные объекта Person. А переменная tom получит ссылку на созданный объект, и через эту переменную мы можем использовать данный объект и обращаться к его функциональности.

Обращение к функциональности класса

Для обращения к функциональности класса — полям, методам (а также другим элементам класса) применяется точечная нотация точки — после объекта класса ставится точка, а затем элемент класса:

объект.поле_класса объект.метод_класса(параметры_метода)

Например, обратимся к полям и методам объекта Person:

Person tom = new Person(); // создание объекта класса Person // Получаем значение полей в переменные string personName = tom.name; int personAge = tom.age; Console.WriteLine($"Имя: Возраст "); // Имя: Undefined Возраст: 0 // устанавливаем новые значения полей tom.name = "Tom"; tom.age = 37; // обращаемся к методу Print tom.Print(); // Имя: Tom Возраст: 37 class Person < public string name = "Undefined"; public int age; public void Print() < Console.WriteLine($"Имя: Возраст: "); > >

Консольный вывод данной программы:

Имя: Undefined Возраст: 0 Имя: Tom Возраст: 37

Добавление класса

Обычно классы помещаются в отдельные файлы. Нередко для одного класса предназначен один файл. Если мы работаем над проектом вне среды Visual Studio, используя .NET CLI, то нам достаточно добавить новый файл класса в папку проекта. Например, добавим новый файл, который назовем Person.cs и в котором определим следующий код:

class Person < public string name = "Undefined"; public void Print() < Console.WriteLine($"Person "); > >

Здесь определен класс Person с одним полем name и методом Print.

В файле Program.cs , который представляет основной файл программы используем класс Person:

Person tom = new Person(); tom.name = "Tom"; tom.Print(); // Person Tom

Использование классов в проекте в Visual Studio в языке программирования C#

Visual Studio предоставляет по умолчанию встроенные шаблоны для добвления класса. Для добавления класса нажмем в Visual Studio правой кнопкой мыши на название проекта:

Добавление класса в Visual Studio в C#

В появившемся контекстном меню выберем пункт Add -> New Item. (или Add -> Class. )

В открывшемся окне добавления нового элемента убедимся, что в центральной части с шаблонами элементов у нас выбран пункт Class . А внизу окна в поле Name введем название добавляемого класса — пусть он будет назваться Person :

Добавление нового класса в Visual Studio в C#

В качестве названия класса можно вводить как Person, так и Person.cs. И после нажатия на кнопку добавления в проект будет добавлен новый класс, в котором можно определить тот же код и также использовать в файле Program.cs.

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

Руководство. Создание библиотеки классов .NET с помощью Visual Studio

В этом учебнике вы создадите простую библиотеку классов с одним методом для обработки строк.

Библиотека классов определяет типы и методы, которые могут быть вызваны из любого приложения. Если библиотека предназначена для .NET Standard 2.0, она может быть вызвана любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 8, она может вызываться любым приложением, предназначенным для .NET 8. В этом руководстве показано, как использовать .NET 8.

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

Предварительные условия

  • Предварительная версия Visual Studio 2022 с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 8 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

Создание решения

Начните с создания пустого решения для размещения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Вы будете добавлять дополнительные связанные проекты в одно решение.

Чтобы создать пустое решение, сделайте следующее:

Blank solution template in Visual Studio

  1. Запустите среду Visual Studio.
  2. На начальном экране выберите Создать проект.
  3. В поле поиска на странице Создание проекта введите решение. Выберите шаблон Пустое решение и нажмите кнопку Далее.
  4. На странице Настройка нового проекта введите ClassLibraryProjects в поле Имя решения. Щелкните Создать.

Создание проекта библиотеки классов

Project properties for the class library

  1. Добавьте в решение новый проект библиотеки классов .NET с именем «StringLibrary».
    1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
    2. На странице добавления нового проекта введите в поле поиска библиотека. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Библиотека классов, а затем нажмите кнопку Далее.
    3. На странице настройки нового проекта введите StringLibrary в поле Имя проекта, а затем нажмите Далее.
    4. На странице «Дополнительные сведения» выберите .NET 8 (предварительная версия) и нажмите кнопку «Создать«.
  2. Проверьте, предназначена ли библиотека для правильной версии .NET. В обозревателе решений щелкните проект библиотеки правой кнопкой мыши и выберите пункт Свойства. Текстовое поле Target Framework показывает, что проект предназначен для .NET 7.0.
  3. Если вы используете Visual Basic, удалите текст в поле Корневое пространство имен. Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом учебнике вы определите пространство имен верхнего уровня с помощью ключевого слова namespace в файле кода.
  4. Замените код, отображаемый в окне кода, для Class1.cs или Class1.vb следующим текстом, а затем сохраните файл. Если нужный язык не отображается, измените селектор языка в верхней части страницы.

    namespace UtilityLibraries; public static class StringLibrary < public static bool StartsWithUpper(this string? str) < if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); >> 
    Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace 

    Добавление консольного приложения в решение

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

    1. Добавьте к решению новое консольное приложение .NET под названием «Демонстрация».
      1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
      2. На странице Добавить новый проект введите в поле поиска консоль. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ.
      3. Выберите шаблон Консольное приложение и нажмите Далее.
      4. На странице Настроить новый проект введите Демонстрация в поле Имя проекта. Теперь щелкните Далее.
      5. На странице «Дополнительные сведения» выберите .NET 8 (предварительная версия) в поле Framework. Щелкните Создать.
      using UtilityLibraries; class Program < static void Main(string[] args) < int row = 0; do < if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: "); Console.WriteLine("Begins with uppercase? " + $"<(input.StartsWithUpper() ? "Yes" : "No")>"); Console.WriteLine(); row += 4; > while (true); return; // Declare a ResetConsole local method void ResetConsole() < if (row >0) < Console.WriteLine("Press any key to continue. "); Console.ReadKey(); >Console.Clear(); Console.WriteLine($"Press only to exit; otherwise, enter a string and press :"); row = 3; > > > 
      Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: : " + $" ") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue. ") Console.ReadKey() End If Console.Clear() Console.WriteLine($"Press only to exit; otherwise, enter a string and press :") row = 3 End Sub End Module 

      Добавление ссылки на проект

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

      1. В обозревателе решений щелкните правой кнопкой мыши узел Зависимости проекта ShowCase и выберите команду Добавить ссылку на проект. Add reference context menu in Visual Studio
      2. В диалоговом окне Диспетчер ссылок выберите проект StringLibrary, а затем нажмите кнопку ОК. Reference Manager dialog with StringLibrary selected

      Выполнить приложение

      1. В окне Обозреватель решений щелкните правой кнопкой мыши проект ShowCase и выберите команду Назначить запускаемым проектом. Visual Studio project context menu to set startup project
      2. Нажмите клавиши CTRL + F5 , чтобы скомпилировать и запустить программу без отладки.
      3. Проверьте, как работает программа: вводите строки и нажимайте клавишу ВВОД . Чтобы выйти, нажмите клавишу ВВОД . Console window with ShowCase running

      Дополнительные ресурсы

      • Разработка библиотек с помощью .NET CLI
      • Список версий .NET Standard и поддерживаемых ими платформ

      Далее

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

      Вы также можете пропустить автоматическое модульное тестирование и узнать, как можно распространить библиотеку, создав пакет NuGet:

      Либо узнайте, как опубликовать консольное приложение. При публикации консольного приложения из решения, созданного в этом руководстве, библиотека классов публикуется вместе с ним в виде файла DLL.

      В этом учебнике вы создадите простую библиотеку классов с одним методом для обработки строк.

      Библиотека классов определяет типы и методы, которые могут быть вызваны из любого приложения. Если библиотека предназначена для .NET Standard 2.0, она может быть вызвана любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 7, ее можно вызвать любым приложением, предназначенным для .NET 7. В этом руководстве показано, как нацелиться на .NET 7.

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

      Предварительные условия

      • Visual Studio 2022 версии 17.4 с установленной рабочей нагрузкой разработки классических приложений .NET. Пакет SDK для .NET 7 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

      Создание решения

      Начните с создания пустого решения для размещения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Вы будете добавлять дополнительные связанные проекты в одно решение.

      Чтобы создать пустое решение, сделайте следующее:

      Blank solution template in Visual Studio

      1. Запустите среду Visual Studio.
      2. На начальном экране выберите Создать проект.
      3. В поле поиска на странице Создание проекта введите решение. Выберите шаблон Пустое решение и нажмите кнопку Далее.
      4. На странице Настройка нового проекта введите ClassLibraryProjects в поле Имя решения. Щелкните Создать.

      Создание проекта библиотеки классов

      Project properties for the class library

      1. Добавьте в решение новый проект библиотеки классов .NET с именем «StringLibrary».
        1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
        2. На странице добавления нового проекта введите в поле поиска библиотека. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Библиотека классов, а затем нажмите кнопку Далее.
        3. На странице настройки нового проекта введите StringLibrary в поле Имя проекта, а затем нажмите Далее.
        4. На странице «Дополнительные сведения» выберите .NET 7 (поддержка уровня «Стандартный») и нажмите кнопку «Создать«.
      2. Проверьте, предназначена ли библиотека для правильной версии .NET. В обозревателе решений щелкните проект библиотеки правой кнопкой мыши и выберите пункт Свойства. Текстовое поле Target Framework показывает, что проект предназначен для .NET 7.0.
      3. Если вы используете Visual Basic, удалите текст в поле Корневое пространство имен. Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом учебнике вы определите пространство имен верхнего уровня с помощью ключевого слова namespace в файле кода.
      4. Замените код, отображаемый в окне кода, для Class1.cs или Class1.vb следующим текстом, а затем сохраните файл. Если нужный язык не отображается, измените селектор языка в верхней части страницы.

        namespace UtilityLibraries; public static class StringLibrary < public static bool StartsWithUpper(this string? str) < if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); >> 
        Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace 

        Добавление консольного приложения в решение

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

        1. Добавьте к решению новое консольное приложение .NET под названием «Демонстрация».
          1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
          2. На странице Добавить новый проект введите в поле поиска консоль. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ.
          3. Выберите шаблон Консольное приложение и нажмите Далее.
          4. На странице Настроить новый проект введите Демонстрация в поле Имя проекта. Теперь щелкните Далее.
          5. На странице «Дополнительные сведения» выберите .NET 7 (поддержка со стандартным термином) в поле Framework. Щелкните Создать.
          using UtilityLibraries; class Program < static void Main(string[] args) < int row = 0; do < if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: "); Console.WriteLine("Begins with uppercase? " + $"<(input.StartsWithUpper() ? "Yes" : "No")>"); Console.WriteLine(); row += 4; > while (true); return; // Declare a ResetConsole local method void ResetConsole() < if (row >0) < Console.WriteLine("Press any key to continue. "); Console.ReadKey(); >Console.Clear(); Console.WriteLine($"Press only to exit; otherwise, enter a string and press :"); row = 3; > > > 
          Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: : " + $" ") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue. ") Console.ReadKey() End If Console.Clear() Console.WriteLine($"Press only to exit; otherwise, enter a string and press :") row = 3 End Sub End Module 

          Добавление ссылки на проект

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

          1. В обозревателе решений щелкните правой кнопкой мыши узел Зависимости проекта ShowCase и выберите команду Добавить ссылку на проект. Add reference context menu in Visual Studio
          2. В диалоговом окне Диспетчер ссылок выберите проект StringLibrary, а затем нажмите кнопку ОК. Reference Manager dialog with StringLibrary selected

          Выполнить приложение

          1. В окне Обозреватель решений щелкните правой кнопкой мыши проект ShowCase и выберите команду Назначить запускаемым проектом. Visual Studio project context menu to set startup project
          2. Нажмите клавиши CTRL + F5 , чтобы скомпилировать и запустить программу без отладки.
          3. Проверьте, как работает программа: вводите строки и нажимайте клавишу ВВОД . Чтобы выйти, нажмите клавишу ВВОД . Console window with ShowCase running

          Дополнительные ресурсы

          • Разработка библиотек с помощью .NET CLI
          • Список версий .NET Standard и поддерживаемых ими платформ

          Далее

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

          Вы также можете пропустить автоматическое модульное тестирование и узнать, как можно распространить библиотеку, создав пакет NuGet:

          Либо узнайте, как опубликовать консольное приложение. При публикации консольного приложения из решения, созданного в этом руководстве, библиотека классов публикуется вместе с ним в виде файла DLL.

          В этом учебнике вы создадите простую библиотеку классов с одним методом для обработки строк.

          Библиотека классов определяет типы и методы, которые могут быть вызваны из любого приложения. Если библиотека предназначена для .NET Standard 2.0, она может быть вызвана любой реализацией .NET (включая .NET Framework), которая поддерживает .NET Standard 2.0. Если библиотека предназначена для .NET 6, ее можно вызвать с помощью любого приложения, предназначенного для .NET 6. В этом руководстве показано, как выполнить нацеливание на .NET 6.

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

          Предварительные условия

          • Visual Studio 2022, предварительная версия 17.0.0 с установленной рабочей нагрузкой Разработка классических приложений .NET. Пакет SDK для .NET 6 устанавливается автоматически при выборе этой рабочей нагрузки. См. раздел Установка пакета SDK для .NET с помощью Visual Studio.

          Создание решения

          Начните с создания пустого решения для размещения проекта библиотеки классов. Решение Visual Studio служит контейнером для одного или нескольких проектов. Вы будете добавлять дополнительные связанные проекты в одно решение.

          Чтобы создать пустое решение, сделайте следующее:

          Blank solution template in Visual Studio

          1. Запустите среду Visual Studio.
          2. На начальном экране выберите Создать проект.
          3. В поле поиска на странице Создание проекта введите решение. Выберите шаблон Пустое решение и нажмите кнопку Далее.
          4. На странице Настройка нового проекта введите ClassLibraryProjects в поле Имя решения. Щелкните Создать.

          Создание проекта библиотеки классов

          Project properties for the class library

          1. Добавьте в решение новый проект библиотеки классов .NET с именем «StringLibrary».
            1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
            2. На странице добавления нового проекта введите в поле поиска библиотека. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ. Выберите шаблон Библиотека классов, а затем нажмите кнопку Далее.
            3. На странице настройки нового проекта введите StringLibrary в поле Имя проекта, а затем нажмите Далее.
            4. На странице Дополнительные сведения выберите .NET 6 (долгосрочная поддержка), а затем нажмите Создать.
          2. Проверьте, предназначена ли библиотека для правильной версии .NET. В обозревателе решений щелкните проект библиотеки правой кнопкой мыши и выберите пункт Свойства. В текстовом поле Целевая платформа указано, что целевой платформой проекта является .NET 6.0.
          3. Если вы используете Visual Basic, удалите текст в поле Корневое пространство имен. Для каждого проекта Visual Basic автоматически создает пространство имен, соответствующее имени проекта. В этом учебнике вы определите пространство имен верхнего уровня с помощью ключевого слова namespace в файле кода.
          4. Замените код, отображаемый в окне кода, для Class1.cs или Class1.vb следующим текстом, а затем сохраните файл. Если нужный язык не отображается, измените селектор языка в верхней части страницы.

            namespace UtilityLibraries; public static class StringLibrary < public static bool StartsWithUpper(this string? str) < if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); >> 
            Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace 

            Добавление консольного приложения в решение

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

            1. Добавьте к решению новое консольное приложение .NET под названием «Демонстрация».
              1. Щелкните решение в обозревателе решений правой кнопкой мыши и выберите Добавить>Новый проект.
              2. На странице Добавить новый проект введите в поле поиска консоль. Выберите C# или Visual Basic из списка языков, а затем — Все платформы из списка платформ.
              3. Выберите шаблон Консольное приложение и нажмите Далее.
              4. На странице Настроить новый проект введите Демонстрация в поле Имя проекта. Теперь щелкните Далее.
              5. На странице Дополнительные сведения выберите .NET 6 (долгосрочная поддержка) в поле Платформа. Щелкните Создать.
              using UtilityLibraries; class Program < static void Main(string[] args) < int row = 0; do < if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: "); Console.WriteLine("Begins with uppercase? " + $"<(input.StartsWithUpper() ? "Yes" : "No")>"); Console.WriteLine(); row += 4; > while (true); return; // Declare a ResetConsole local method void ResetConsole() < if (row >0) < Console.WriteLine("Press any key to continue. "); Console.ReadKey(); >Console.Clear(); Console.WriteLine($"Press only to exit; otherwise, enter a string and press :"); row = 3; > > > 
              Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: : " + $" ") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue. ") Console.ReadKey() End If Console.Clear() Console.WriteLine($"Press only to exit; otherwise, enter a string and press :") row = 3 End Sub End Module 

              Добавление ссылки на проект

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

              1. В обозревателе решений щелкните правой кнопкой мыши узел Зависимости проекта ShowCase и выберите команду Добавить ссылку на проект. Add reference context menu in Visual Studio
              2. В диалоговом окне Диспетчер ссылок выберите проект StringLibrary, а затем нажмите кнопку ОК. Reference Manager dialog with StringLibrary selected

              Выполнить приложение

              1. В окне Обозреватель решений щелкните правой кнопкой мыши проект ShowCase и выберите команду Назначить запускаемым проектом. Visual Studio project context menu to set startup project
              2. Нажмите клавиши CTRL + F5 , чтобы скомпилировать и запустить программу без отладки.
              3. Проверьте, как работает программа: вводите строки и нажимайте клавишу ВВОД . Чтобы выйти, нажмите клавишу ВВОД . Console window with ShowCase running

              Дополнительные ресурсы

              • Разработка библиотек с помощью .NET CLI
              • Список версий .NET Standard и поддерживаемых ими платформ

              Далее

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

              Вы также можете пропустить автоматическое модульное тестирование и узнать, как можно распространить библиотеку, создав пакет NuGet:

              Либо узнайте, как опубликовать консольное приложение. При публикации консольного приложения из решения, созданного в этом руководстве, библиотека классов публикуется вместе с ним в виде файла DLL.

              Совместная работа с нами на GitHub

              Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *