Как создать cs файл в visual studio
Создание кода позволяет создавать программный код, который является строго типизированным, но при этом может быть легко изменен при изменении исходной модели. Сравните это с альтернативным методом написания полностью универсальной программы, принимающей файл конфигурации. Он является более гибким, однако в результате получается код, который труден для чтения и редактирования, а также не отличается высокой производительностью. Данное преимущество рассматривается в этом пошаговом руководстве.
Типизированный код для чтения XML-файла
Пространство имен System.Xml предоставляет комплексные средства для загрузки XML-документа и последующего свободного просмотра его в памяти. К сожалению, все эти узлы имеют одинаковый тип — XmlNode. Поэтому очень легко допустить ошибки программирования, например, ожидая неверный тип дочернего узла или неверные атрибуты.
В данном примере проекта шаблон считывает пример файла XML и создает классы, соответствующие каждому типу узла. В написанном вручную коде эти классы можно использовать для перехода по XML-файлу. Можно также запустить приложение для любых других файлов, использующих те же типы узлов. Пример XML-файла служит для предоставления примеров всех типов узлов, с которыми должно работать ваше приложение.
приложение xsd.exe, которое входит в состав Visual Studio, может создавать строго типизированные классы из XML-файлов. Показанный здесь шаблон представлен в качестве примера.
Ниже приведен пример файла:
В проекте, создаваемом в данном пошаговом руководстве, можно написать следующий код, при этом IntelliSense будет предлагать правильные имена атрибутов и дочерних элементов:
Сравните это с нетипизированным кодом, который можно написать без шаблона:
В строго типизированной версии изменение схемы XML приводит к изменению классов. Компилятор выделяет части кода приложения, которые необходимо изменить. В нетипизированной версии, использующей универсальный XML-код, такая поддержка отсутствует.
В этом проекте применяется один файл шаблона для создания классов, которые делают типизированную версию возможной.
Настройка Project
В меню файл выберите пункт создать , а затем щелкните Project.
Добавление XML-файла прототипа в проект
Файл должен быть частью проекта, чтобы шаблон мог считать его, однако он не будет встроен в скомпилированное приложение.
В Обозреватель решений щелкните правой кнопкой мыши проект, выберите Добавить , а затем щелкните новый элемент.
В диалоговом окне Добавление нового элемента выберите в области Шаблоны элемент XML-файл.
Добавьте образец содержимого в файл.
В рамках данного пошагового руководства назовите файл exampleXml.xml . Используйте в качестве содержимого файла XML-код, приведенный в предыдущем разделе.
Добавление файла кода тестирования
На этом этапе скомпилировать код не удастся. При написании шаблона вы создадите классы, позволяющие успешно скомпилировать код.
Более полный тест позволит проверить выходные данные этой тестовой функции на соответствие известному содержимому из примера XML-файла. Однако в данном пошаговом руководстве нам достаточно успешной компиляции тестового метода.
Добавление файла текстового шаблона
Добавьте файл текстового шаблона и задайте для расширения Output значение . CS.
В обозревателе решений щелкните проект правой кнопкой мыши, выберите пункт Добавить, а затем щелкните Новый элемент.
В диалоговом окне Добавление нового элемента выберите в области Шаблоны элемент Текстовый шаблон.
Убедитесь, что добавляется именно текстовый шаблон, а не предварительно преобразованный текстовый шаблон.
В директиве template файла измените значение атрибута hostspecific на true .
это изменение позволит коду шаблона получить доступ к службам Visual Studio.
Сохраните файл. На данном этапе файл текстового шаблона должен содержать следующие строки:
Обратите внимание, что CS-файл отображается в обозревателе решений как дочерний элемент файла шаблона. Его можно просмотреть, нажав кнопку [+] рядом с именем файла шаблона. Этот файл создается из файла шаблона при каждом сохранении или перемещении фокуса с файла шаблона. Созданный файл компилируется как часть проекта.
Любые изменения, вносимые непосредственно в созданный файл, будут теряться при каждом сохранении файла шаблона. Поэтому следует либо избегать изменения созданного файла, либо редактировать его лишь для кратковременных экспериментов. Иногда бывает удобно проверить небольшой фрагмент кода в созданном файле, где работает технология IntelliSense, и затем скопировать его в файл шаблона.
Разработка текстового шаблона
Следуя рекомендациям в отношении гибкой разработки, мы будем разрабатывать шаблон небольшими этапами, устраняя ошибки на каждом шаге, пока тестовый код не будет компилироваться и выполняться правильно.
Прототип для создаваемого кода
Тестовый код требует класс для каждого узла в файле. Таким образом, некоторые ошибки компиляции исчезнут, если добавить в шаблон следующие строки и сохранить его:
Это поможет увидеть, что именно требуется, но объявления должны создаваться из типов узлов в образце XML-файла. Удалите эти экспериментальные строки из шаблона.
Создание кода приложения из модели XML-файла
Чтобы прочитать XML-файл и создать объявления классов, замените содержимое шаблона следующим кодом:
Замените путь к файлу правильным путем для проекта.
Обратите внимание на разделители блока кода . Эти разделители обозначают фрагмент кода программы, создающий текст. Разделители блока выражения обозначают выражение, которое может быть вычислено в строку.
При создании шаблона, формирующего исходный код для приложения, вы работаете с двумя отдельными текстами программ. Программа внутри разделителей блока кода выполняется каждый раз, когда вы сохраняете шаблон или перемещаете фокус на другое окно. Создаваемый ею текст, который отображается вне разделителей, копируется в создаваемый файл и становится частью кода приложения.
Директива ведет себя как ссылка, предоставляя коду шаблона доступ к сборке. Список сборок, видимых шаблоном, отличается от списка ссылок в проекте приложения.
Директива действует как оператор using , позволяя использовать короткие имена классов в импортированном пространстве имен.
К сожалению, хотя этот шаблон и формирует код, он создает объявление класса для каждого узла в примере XML-файла, так что если существует несколько экземпляров узла , появится несколько объявлений класса song.
Чтение файла модели и последующее создание кода
Многие текстовые шаблоны следуют общему правилу, где первая часть шаблона считывает исходный файл, а вторая — создает шаблон. Необходимо считать весь пример файла, чтобы подвести итоги по содержащимся в нем типам узлов, а затем создать объявления классов. Другой необходим, чтобы мы могли использовать Dictionary<>:
Добавление вспомогательного метода
Блок управления возможностями класса — это блок, в котором можно определить вспомогательные методы. Блок разделяется с помощью и должен быть последним блоком в файле.
Если вы предпочитаете, чтобы имена классов начинались с прописной буквы, замените последнюю часть шаблона следующим кодом:
На этом этапе созданный CS файл содержит следующие объявления:
Аналогичным образом можно добавить дополнительные сведения, такие как свойства дочерних узлов, атрибуты и внутренний текст.
доступ к API Visual Studio
установка hostspecific атрибута директивы позволяет шаблону получить доступ к Visual Studio API. Благодаря этому шаблон может получить сведения о расположении файлов проекта, чтобы избежать использования абсолютного пути к файлу в коде шаблона.
Завершение работы с текстовым шаблоном
Следующее содержимое шаблона создает код, позволяющий скомпилировать и запустить тестовый код.
Запуск тестовой программы
В функции main консольного приложения за выполнение тестового метода отвечают приведенные ниже строки. Нажмите клавишу F5, чтобы запустить программу в режиме отладки:
Написание и обновление приложения
Теперь приложение можно написать в строго типизированном стиле, используя вместо универсального XML-кода созданные классы.
При изменении схемы XML можно легко создать новые классы. Компилятор сообщит разработчику, где именно требуется обновить код приложения.
Чтобы повторно создать классы при изменении XML-файла примера, щелкните преобразовать все шаблоны на панели инструментов Обозреватель решений .
Заключение
В этом пошаговом руководстве показано несколько методов и преимуществ создания кода:
Создание кода — это создание части исходного кода приложения на базе модели. Модель содержит информацию в форме, приемлемой для домена приложения, и может измениться в течение жизненного цикла приложения.
Одно из преимуществ создания кода — строгая типизация. Хотя модель представляет данные в форме, более удобной для пользователя, созданный код позволяет другим частям приложения работать с информацией, используя набор типов.
IntelliSense и компилятор помогают создавать код, который соответствует схеме модели, как при написании нового кода, так и при обновлении схемы.
Эти преимущества можно использовать, добавив в проект один несложный файл шаблона.
Текстовый шаблон можно разрабатывать и тестировать быстро и последовательно.
В этом пошаговом руководстве код программы фактически создается из экземпляра модели — репрезентативного примера XML-файлов, которые будут обрабатывать приложение. При более формальном подходе схема XML будет выполнять роль входных данных для шаблона в форме XSD-файла или определения доменного языка. Такой подход позволит шаблону проще определить такие характеристики, как кратность отношения.
Устранение неполадок с текстовым шаблоном
Если при преобразовании или компиляции шаблона в списке ошибок появились ошибки или выходной файл был создан неправильно, эти неполадки текстового шаблона можно устранить с помощью методов, описанных в статье Создание файлов с помощью служебной программы TextTransform.
Предварительные требования
Создание приложения
Запустите Visual Studio Code.
В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
В диалоговом окне Открыть папку создайте папку HelloWorld и выберите ее. Затем щелкните Выбрать папку (или Открыть в macOS).
Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
В диалоговом окне о доверии авторам файлов в этой папке выберите Да, я доверяю авторам.
Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал.
Откроется окно Терминал с командной строкой в папке HelloWorld.
В окне терминала введите следующую команду:
Шаблон проекта создает простое приложение, которое отображает "Hello World" в окне консоли, вызывая метод Console.WriteLine(String) из файла Program.cs.
Замените содержимое Program.cs кодом из этого примера.
При первом редактировании файла .cs в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения. Выберите Да и Visual Studio Code создаст папку .vscode с файлами launch.json и tasks.json.
Если запрос не отображается или вы случайно закрываете его без нажатия кнопки "Да", выполните следующие действия, чтобы создать launch.json и tasks.json:
- Выберите "КонфигурацияRunAdd>" в меню.
- Выберите .NET 5+ и .NET Core в командной строке "Выбор среды ".
Код определяет класс Program с одним методом Main , который принимает массив String в качестве аргумента. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
Запуск приложения
Выполните следующие команды в окне терминала:
Программа отображает "Hello World!" и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
Откройте файл Program.cs.
В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем.
Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
Запустите программу еще раз:
В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
Нажмите любую клавишу для выхода из программы.
Дополнительные ресурсы
Следующие шаги
Предварительные требования
Создание приложения
Запустите Visual Studio Code.
В главном меню выберите Файл>Открыть папку (в macOS выберите File>Open. (Файл > Открыть)).
В диалоговом окне Открытие папки создайте папку HelloWorld и щелкните Выбрать папку (в macOS щелкните Open (Открыть)).
Имя папки по умолчанию преобразуется в имя проекта и имя пространства имен. Вы добавите код позже в этом учебнике. Предполагается, что пространство имен проекта — HelloWorld .
Откройте терминал в Visual Studio Code, выбрав в основном меню пункт Вид>Терминал.
Откроется окно Терминал с командной строкой в папке HelloWorld.
В окне терминала введите следующую команду:
Этот шаблон создает простое приложение Hello World. Он вызывает метод Console.WriteLine(String) для вывода "Hello World!" в окне консоли.
Код шаблона определяет класс Program с одним методом Main , который принимает в качестве аргумента массив String.
Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args.
Запуск приложения
Выполните следующие команды в окне терминала:
Программа отображает "Hello World!" и заканчивается.
Улучшение приложения
Давайте расширим приложение. Теперь у пользователя будет запрашиваться имя, которое затем будет отображаться с датой и временем.
Откройте файл Program.cs, щелкнув его.
Когда в Visual Studio Code будет предложено добавить недостающие ресурсы для сборки и отладки приложения, выберите Да.
В Program.cs замените содержимое метода Main (строка, вызывающая Console.WriteLine ) следующим кодом:
Этот код отображает запрос в окне консоли и ожидает, чтобы пользователь ввел строку текста и нажал клавишу ВВОД . Приложение сохраняет полученную строку в переменной с именем name . Оно также получает значение свойства DateTime.Now, которое содержит текущее локальное время, и присваивает его переменной с именем currentDate . Затем оно отображает эти значения в окне консоли. Наконец, приложение выводит запрос в окне консоли и вызывает метод Console.ReadKey(Boolean) для ожидания ввода данных пользователем.
Знак доллара ( $ ) перед строкой позволяет вставить такие выражения, как имена переменных, в фигурные скобки в строке. Значение выражения вставляется в строку вместо выражения. Такой синтаксис называется интерполированными строками.
В Visual Studio Code необходимо явно сохранить изменения. В отличие от Visual Studio, изменения файлов не сохраняются автоматически при сборке и запуске приложения.
Запустите программу еще раз:
В ответ на приглашение в командной строке введите имя и нажмите клавишу ВВОД .
Нажмите любую клавишу для выхода из программы.
Дополнительные ресурсы
Следующие шаги
Изучив это руководство, вы:
- Добавите второй проект.
- Ссылка на библиотеки и добавление пакетов
- Выполните дополнительную отладку.
- Проверите готовый код.
Предварительные условия
Для работы с этой статьей можно использовать любое из следующих приложений калькулятора.
Добавление еще одного проекта
Реальный код связан с проектами, которые объединены в решение. Вы можете добавить проект библиотеки классов в приложение калькулятора, предоставляющее некоторые функции калькулятора.
В Visual Studio выберите Файл > Добавить > Новый проект, чтобы добавить новый проект. В Обозревателе решений щелкните решение правой кнопкой мыши, чтобы добавить проект из контекстного меню.
В Обозревателе решений щелкните узел решения правой кнопкой мыши и выберите пункты Добавить > Новый проект.
В диалоговом окне Настройка нового проекта введите имя проекта CalculatorLibrary и нажмите кнопку Далее.
Переименуйте файл Class1.cs в CalculatorLibrary.cs. Чтобы переименовать файл, щелкните правой кнопкой мыши имя в Обозревателе решений и выберите команду Переименовать, затем выберите имя и нажмите клавишу F2 либо выберите имя и щелкните еще раз, чтобы ввести его.
Теперь необходимо добавить ссылку на проект, чтобы первый проект мог использовать API, предоставляемые новой библиотекой классов. Правой кнопкой мыши щелкните узел Зависимости в проекте Калькулятор и выберите Добавить ссылку на проект.
Откроется диалоговое окно Диспетчер ссылок. Это диалоговое окно позволяет добавлять ссылки на другие проекты, а также сборки и библиотеки DLL COM, необходимые вашим проектам.
В диалоговом окне Диспетчер ссылок установите флажок для проекта CalculatorLibrary и выберите OK.
Ссылка на проект отображается в узле Проекты в обозревателе решений.
В файле Program.cs выберите класс Calculator и весь его код и нажмите CTRL+X, чтобы вырезать его. Затем в CalculatorLibrary.cs вставьте код в пространство имен CalculatorLibrary .
Добавьте public до класса калькулятора, чтобы предоставить его за пределами библиотеки.
Теперь код в CalculatorLibrary.cs должен выглядеть следующим образом.
Или попробуйте добавить директиву using в начало файла.
Добавление директивы using позволяет удалить пространство имен CalculatorLibrary из места вызова, но это приводит к неоднозначности. Является ли Calculator классом в CalculatorLibrary или Calculator — это пространство имен?
Чтобы устранить неоднозначность, измените имя пространства имен Calculator на CalculatorProgram в файле Program.cs.
В Обозревателе решений щелкните узел решения правой кнопкой мыши и выберите пункты Добавить > Новый проект.
В диалоговом окне Настройка нового проекта введите имя проекта CalculatorLibrary и нажмите кнопку Далее.
Visual Studio создаст новый проект и добавит его в решение.
Переименуйте файл Class1.cs в CalculatorLibrary.cs. Чтобы переименовать файл, щелкните правой кнопкой мыши имя в Обозревателе решений и выберите команду Переименовать, затем выберите имя и нажмите клавишу F2 либо выберите имя и щелкните еще раз, чтобы ввести его.
Теперь необходимо добавить ссылку на проект, чтобы первый проект мог использовать API, предоставляемые новой библиотекой классов. Правой кнопкой мыши щелкните узел Зависимости в проекте Калькулятор и выберите Добавить ссылку на проект.
Откроется диалоговое окно Диспетчер ссылок. Это диалоговое окно позволяет добавлять ссылки на другие проекты, а также сборки и библиотеки DLL COM, необходимые вашим проектам.
В диалоговом окне Диспетчер ссылок установите флажок для проекта CalculatorLibrary и выберите OK.
Ссылка на проект отображается в узле Проекты в обозревателе решений.
В файле Program.cs выберите класс Calculator и весь его код и нажмите CTRL+X, чтобы вырезать его. Затем в CalculatorLibrary.cs вставьте код в пространство имен CalculatorLibrary .
Добавьте public до класса калькулятора, чтобы предоставить его за пределами библиотеки.
Теперь код в CalculatorLibrary.cs должен выглядеть следующим образом.
Или попробуйте добавить директиву using в начало файла.
Добавление директивы using позволяет удалить пространство имен CalculatorLibrary из места вызова, но это приводит к неоднозначности. Является ли Calculator классом в CalculatorLibrary или Calculator — это пространство имен?
Чтобы устранить неоднозначность, переименуйте пространство имен из Calculator в CalculatorProgram в Program.cs и в CalculatorLibrary.cs.
Начните с добавления директив using в начало файла CalculatorLibrary.cs.
Это использование класса Trace должно подразумевать ссылку на класс, который он связывает с файловым потоком. Это требование означает, что калькулятор будет работать лучше в качестве объекта, поэтому добавьте конструктор в начало класса Calculator в CalculatorLibrary.cs.
Также удалите ключевое слово static , чтобы изменить статический метод DoOperation на метод-член.
Добавьте выходные данные журнала для каждого вычисления. DoOperation будет иметь следующий вид.
Также измените место вызова DoOperation , чтобы оно ссылалось на объект с именем calculator в нижнем регистре. Теперь код является вызовом члена, а не вызовом статического метода.
Снова запустите приложение. Когда все будет готово, щелкните правой кнопкой мыши узел проекта Калькулятор и выберите Открыть папку в проводнике.
В проводнике перейдите в папку выходных данных в разделе bin/Debug/ и откройте файл calculator.log. Результат должен выглядеть следующим образом.
Сейчас файл CalculatorLibrary.cs должен выглядеть следующим образом.
Файл Program.cs должен выглядеть как следующий фрагмент кода.
Добавление пакета NuGet: запись в JSON-файл
В Обозревателе решений щелкните правой кнопкой мыши узел Зависимости для проекта CalculatorLibrary и выберите Управление пакетами NuGet.
Откроется диспетчер пакетов NuGet.
Найдите и выберите пакет Newtonsoft.Json и нажмите кнопку Установить.
Visual Studio скачивает пакет и добавляет его в проект. Новая запись отображается в узле "Ссылки" в Обозревателе решений.
Если появится запрос на принятие изменений, нажмите кнопку OK.
Visual Studio скачивает пакет и добавляет его в проект. Новая запись отображается в узле Пакеты в Обозревателе решений.
Добавьте директиву using для Newtonsoft.Json в начало файла CalculatorLibrary.cs.
Создайте объект члена JsonWriter и замените конструктор Calculator следующим кодом.
Измените метод DoOperation , чтобы добавить код JSON writer .
Добавьте метод для завершения синтаксиса JSON после ввода пользователем всех данных для операции.
В конце файла Program.cs перед return; добавьте вызов к Finish .
Выполните сборку приложения и запустите его. Попробуйте выполнить несколько операций и закройте приложение, используя команду n.
Откройте файл calculatorlog.json в проводнике. Выходные данные должны быть примерно следующими.
Отладка. Установка точки останова и попадание в нее
Отладчик Visual Studio — очень эффективное средство. Отладчик может пошагово пройти код, чтобы найти точку, в которой есть ошибка программирования. Затем можно понять, какие исправления необходимо внести, и внести временные изменения, чтобы можно было продолжить работу приложения.
В файле Program.cs щелкните поле слева от следующей строки кода. Можно также выбрать строку и нажать клавишу F9 или щелкнуть правой кнопкой мыши и выбрать Точка останова > Вставить точку останова.
Красная точка указывает на точку останова. Для приостановки приложения и проверки кода можно использовать точки останова. Вы можете установить точку останова в любой исполняемой строке кода.
Выполните сборку и запуск приложения. Введите следующие значения для вычисления.
- Для первого числа введите 8.
- Для второго числа введите 0.
- Давайте поэкспериментируем с оператором. Введите d.
Приложение приостанавливается в созданной точке останова, которая обозначается желтым указателем слева и выделенным кодом. Выделенный код еще не выполнен.
Теперь, когда приложение приостановлено, вы можете проверить его состояние.
Отладка. Просмотр переменных
В выделенном коде наведите указатель мыши на переменные, такие как cleanNum1 и op . Текущие значения этих переменных, 8 и d соответственно, отображаются в подсказках по данным.
При отладке очень важно выполнить проверку переменных на соответствующие значения для устранения проблем.
В нижней области просмотрите окно Локальные. Если оно закрыто, выберите Отладка > Окна > Локальные, чтобы открыть его.
В окне Локальные отображаются все переменные, находящиеся в области, а также их значения и типы.
Взгляните на окно Видимые.
Окно "Видимые" аналогично окну Локальные, но отображает переменную непосредственно перед текущей строкой кода и после строки, в которой приостановлено приложение.
Далее можно поочередно выполнить код в отладчике по одной инструкции за раз. Это называется пошаговым выполнением.
Отладка. Пошаговое прохождение кода
Нажмите клавишу F11 или выберите Отладка > Выполнять по шагам.
С помощью команды "Выполнять по шагам" приложение выполняет текущий оператор и переходит к следующему исполняемому оператору. Как правило, это следующая строка кода. Желтый указатель слева всегда указывает на текущий оператор.
Вы только что выполнили по шагам метод DoOperation в классе Calculator .
Чтобы получить иерархический обзор выполнения программы, просмотрите окно Стек вызовов. Если оно закрыто, выберите Отладка > Окна > Стек вызовов, чтобы открыть его.
В этом представлении показан текущий метод Calculator.DoOperation , обозначенный желтым указателем. Во второй строке показана функция, которая вызвала метод из метода Main в Program.cs.
В окне Стек вызовов показан порядок вызова методов и функций. Это окно предоставляет доступ ко многим функциям отладчика, таким как Перейти к исходному коду, из контекстного меню.
Нажмите клавишу F10 или выберите Отладка > Шаг с обходом несколько раз, пока приложение не остановится в операторе switch .
Команда "Шаг с обходом" аналогична команде "Выполнять по шагам", за исключением того, что если текущий оператор вызывает функцию, то отладчик выполняет код в вызываемой функции и не приостанавливает выполнение до возврата функции. Команда "Шаг с обходом" выполняется быстрее, чем "Выполнять по шагам", если вас не интересует определенная функция.
Нажмите клавишу F10 еще раз, чтобы приложение приостанавливалось на следующей строке кода.
Этот код проверяет деление на нуль. Если приложение продолжит работать, оно вызовет общее исключение (ошибку), но вы можете выполнить другое действие, например просмотреть фактическое возвращаемое значение в консоли. Один из вариантов — использовать функцию отладчика Изменить и продолжить, чтобы внести изменения в код и продолжить отладку. Тем не менее мы покажем другой метод для временного изменения потока выполнения.
Отладка. Тестирование временного изменения
Выберите желтый указатель, который в данный момент приостановлен на операторе if (num2 != 0) , и перетащите его в следующий оператор.
Если перевести указатель сюда, приложение полностью пропускает оператор if , чтобы вы могли увидеть, что происходит при делении на ноль.
Нажмите клавишу F10, чтобы выполнить строку кода.
Нажмите клавишу F5 или выберите Отладка > Продолжить отладку.
Символ бесконечности отображается в консоли как результат математической операции.
Закройте приложение должным образом с помощью команды n.
Полный код
Ниже приведен полный код для файла CalculatorLibrary.cs после выполнения всех шагов.
А вот код для файла Program.cs:
Следующие шаги
Поздравляем с завершением этого учебника! Для получения дополнительных сведений изучите следующие ресурсы.
Первый шаг в создании программы для просмотра изображений — это создание проекта приложения Windows Forms. When you create a picture viewer, the first step is to create a Windows Forms App project.
Откройте Visual Studio 2017. Open Visual Studio 2017
В строке меню выберите Файл > Создать > Проект. On the menu bar, choose File > New > Project. Диалоговое окно должно выглядеть так же, как на следующем снимке экрана. The dialog box should look similar to the following screenshot.
Дополнительные сведения см. в разделе Установка Visual Studio. For more information, see the Install Visual Studio page.
Запустите Visual Studio 2019. Open Visual Studio 2019
На начальном экране выберите Создать проект. On the start window, choose Create a new project.
В поле поиска окна Создание проекта введите Windows Forms. On the Create a new project window, enter or type Windows Forms in the search box. Затем в списке Тип проекта выберите Рабочий стол. Next, choose Desktop from the Project type list.
Затем нажмите кнопку Изменить в Visual Studio Installer. After that, choose the Modify button in the Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. You might be prompted to save your work; if so, do so. Выберите Продолжить, чтобы установить рабочую нагрузку. Next, choose Continue to install the workload.
В поле Имя проекта окна Настроить новый проект введите PictureViewer. In the Configure your new project window, type or enter PictureViewer in the Project name box. Затем нажмите Создать. Then, choose Create.
Visual Studio создает решение для приложения. Visual Studio creates a solution for your app. Решение играет роль контейнера для всех проектов и файлов, необходимых приложению. A solution acts as a container for all of the projects and files needed by your app. Более подробно эти термины поясняются далее в этом учебнике. These terms will be explained in more detail later in this tutorial.
Сведения о проекте приложения Windows Forms About the Windows Forms App project
Среда разработки содержит три окна: главное окно, Обозреватель решений и окно Свойства. The development environment contains three windows: a main window, Solution Explorer, and the Properties window.
Если какое-либо из этих окон отсутствует, можно восстановить макет окон по умолчанию. If any of these windows are missing, you can restore the default window layout. В строке меню выберите Окно > Сброс макета окна. On the menu bar, choose Window > Reset Window Layout.
Если открыты какие-либо другие окна, закройте их с помощью кнопки Закрыть (x) в верхнем правом углу. If any other windows are open, close them by choosing the Close (x) button in their upper-right corners.
В строке меню выберите Файл > Сохранить все. On the menu bar, choose File > Save All.
Другой вариант — нажать кнопку Сохранить все на панели инструментов, как показано на рисунке ниже. As an alternative, choose the Save All button on the toolbar, which the following image shows.
Visual Studio автоматически заполняет имя папки и имя проекта, а затем сохраняет проект в папке проектов. Visual Studio automatically fills in the folder name and the project name and then saves the project in your projects folder.
Дальнейшие действия Next steps
Step 1: Create a Windows Forms App project
When you create a picture viewer, the first step is to create a Windows Forms App project.
Open Visual Studio 2017
On the menu bar, choose File > New > Project. The dialog box should look similar to the following screenshot.
New project dialog box
For more information, see the Install Visual Studio page.
Open Visual Studio 2019
On the start window, choose Create a new project.
On the Create a new project window, enter or type Windows Forms in the search box. Next, choose Desktop from the Project type list.
After that, choose the Modify button in the Visual Studio Installer. You might be prompted to save your work; if so, do so. Next, choose Continue to install the workload.
In the Configure your new project window, type or enter PictureViewer in the Project name box. Then, choose Create.
Visual Studio creates a solution for your app. A solution acts as a container for all of the projects and files needed by your app. These terms will be explained in more detail later in this tutorial.
About the Windows Forms App project
The development environment contains three windows: a main window, Solution Explorer, and the Properties window.
If any of these windows are missing, you can restore the default window layout. On the menu bar, choose Window > Reset Window Layout.
You can also display windows by using menu commands. On the menu bar, choose View > Properties Window or Solution Explorer.
If any other windows are open, close them by choosing the Close (x) button in their upper-right corners.
Properties window In this window, you can change the properties of items that you choose in the other windows. For example, if you choose Form1, you can change its title by setting the Text property, and you can change the background color by setting the Backcolor property.
On the menu bar, choose File > Save All.
As an alternative, choose the Save All button on the toolbar, which the following image shows.
Visual Studio automatically fills in the folder name and the project name and then saves the project in your projects folder.
Next steps
To go to the next tutorial step, see Step 2: Run your app.
To return to the overview topic, see Tutorial 1: Create a picture viewer.
Создание проекта Create a project
Откройте Visual Studio 2017. Open Visual Studio 2017.
В верхней строке меню последовательно выберите Файл > Создать > Проект. From the top menu bar, choose File > New > Project.
Запустите Visual Studio 2019. Open Visual Studio 2019.
На начальном экране выберите Создать проект. On the start window, choose Create a new project.
В поле Имя проекта окна Настроить новый проект введите HelloWorld. In the Configure your new project window, type or enter HelloWorld in the Project name box. Затем нажмите Создать. Then, choose Create.
Новый проект открывается в Visual Studio. Visual Studio opens your new project.
Создание приложения Create the application
Добавление кнопки на форму Add a button to the form
Щелкните значок Закрепить, чтобы закрепить окно Панель элементов. Choose the Pin icon to dock the Toolbox window.
Выберите элемент управления Кнопка и перетащите его на форму. Choose the Button control and then drag it onto the form.
Добавление метки на форму Add a label to the form
Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это. Select the Label control from the Toolbox window, and then drag it onto the form and drop it beneath the Click this button.
Добавление кода на форму Add code to the form
В окне Form1.cs [Проект] дважды щелкните кнопку Нажмите это, чтобы открыть окно Form1.cs. In the Form1.cs [Design] window, double-click the Click this button to open the Form1.cs window.
(Кроме того, можно развернуть узел Form1.cs в обозревателе решений, а затем выбрать Form1.) (Alternatively, you can expand Form1.cs in Solution Explorer, and then choose Form1.)
Запуск приложения Run the application
Будет выполнено несколько операций. Several things will happen. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. In the Visual Studio IDE, the Diagnostics Tools window will open, and an Output window will open, too. Кроме того, вне этой среды откроется диалоговое окно Form1. But outside of the IDE, a Form1 dialog box appears. Оно будет содержать вашу кнопку Нажмите это и текст Label1. It will include your Click this button and text that says Label1.
Закройте диалоговое окно Form1, чтобы завершить работу приложения. Close the Form1 dialog box to stop running the app.
Следующие шаги Next steps
Для получения дополнительных сведений перейдите к следующему руководству: To learn more, continue with the following tutorial:
Нет C++ Windows Forms
Странная прозрачность в Windows Forms
У меня возникла странная проблема с Windows Forms. Есть форма, на которой стоит объект PictureBox.
Создание приложения Windows Forms
Здравствуйте. В программировании ничего не понимаю, но работники нашей конторы плохо работают с.
Тут много проблем, например ваша тема не в том разделе.
Основная причина, по которой я спрашиваю об этом, заключается в том, что (мне и другим) очень трудно использовать редакторы кода (такие как VS Code и Atom).
Я надеюсь, что это хороший вопрос.
Обходной путь заключается в использовании классического приложения WinForms и приложения CORE WinForms в одном решении с одинаковым корневым пространством имен.
Для добавления новых проектируемых элементов, каждый раз, когда вы хотите добавить новый элемент, вам нужно добавить его в классический проект, затем переместить 3 сгенерированных файла (.cs,.designer.cs,.resx) в приложение CORE, а затем добавить их как ссылку на классическое приложение.
Для редактирования, поскольку они доступны в виде ссылки в классическом приложении, отредактируйте их в конструкторе классического приложения. Все изменения видны в приложении CORE.
Создайте приложение Windows Forms.NET Core. (См. Шаги и требования.) Откройте проект в Visual Studio и сохраните проект, включая решение. Щелкните правой кнопкой мыши "Решение" и "Добавить новый проект" → "Из шаблонов", выберите проект Windows Forms, назовите его тем же именем, что и Core app + ".Designer", и нажмите "ОК". В свойствах проекта Classic Framework установите для пространства имен по умолчанию такое же пространство имен по умолчанию для основного приложения. Сотрите все существующие файлы в обоих проектах и сохраните изменения.
Добавление формы или UserControl
Каждый раз, когда вы хотите добавить новую форму или пользовательский элемент управления, вам необходимо выполнить следующие шаги:
В классическом рамочном проекте Add New Item Выберите форму Windows или пользовательский элемент управления Сделайте некоторые изменения в desginer, например, измените размер формы, чтобы сгенерировать файл resx и сохранить. В обозревателе решений щелкните правой кнопкой мыши форму и выберите "Вырезать". В основном приложении вставьте все элементы (форма, дизайнер, resx). В классическом приложении щелкните правой кнопкой мыши и выберите "Добавить существующий элемент". Откройте диалоговое окно открытия в основной папке приложения и выберите эти 3 добавленных файла, щелкните раскрывающийся список рядом с кнопкой "Добавить" и выберите "Добавить как ссылку". Скомпилируйте решение. Обновите файлы в классическом приложении, используя Расширение вложенности файлов Mad Kristensen или отредактировав файл проекта.
Теперь, когда вам нужно использовать Designer в одном из файлов базовой формы или UserControl, просто откройте связанные файлы в проекте Classic Framework с помощью Classic Windows Forms Designer.
Все элементы, необходимые для создания первого приложения, объединены в специальной программе IDE (англ. Integrated Development Environment), а именно:
- Кодовый редактор
- Транслятор (компилятор и/или интерпретатор)
- Средства автоматизированной сборки
- Отладчик
- Community – полнофункциональная, расширяемая и бесплатная версия интегрированной среды разработки для создания современных приложений Android, iOS и Windows, а также веб-приложений и облачных служб.
- Professional – платная версия, содержащая профессиональные инструменты и службы для индивидуальных разработчиков или небольших команд.
- Enterprise – платная версия, представляющая интегрированное комплексное решение для команд любого размера с высокими требованиями к качеству и масштабу.
Установка Visual Studio
После загрузки необходимо запустить установщик. В открывшемся окне нам предложат выбрать те компоненты, которые мы хотим установить вместе с Visual Studio. Стоит отметить, что Visual Studio — очень функциональная среда разработки и позволяет разрабатывать приложения с помощью множества языков и платформ.
Создание проекта в Visual Studio
Откройте Visual Studio и на стартовом экране выберите пункт «Создание проекта».
В следующем окне зададим название проекта. Пусть будет HelloWorld. На этом этапе также можно указать папку, где будет располагаться проект. После этого нажмите кнопку «Создать».
Visual Studio создаст и откроет проект. Окно будет выглядеть так:
Hello world
Под узлом «Зависимости» расположен непосредственно сам файл кода программы — Program.cs. Как раз он и открыт в центральном окне. Вначале разберёмся, что весь этот код собой представляет:
Пространство имён может включать другие пространства или классы. В нашем случае по умолчанию сгенерирован один класс — Program. Классы объявляются похожим способом: сначала идёт ключевое слово class, а потом название класса, и далее блок самого класса в фигурных скобках.
Слово static указывает, что метод Main статический, а слово void — что он не возвращает никакого значения. Далее в скобках у нас идут параметры метода. string[] args — это массив с именем args, который хранит значения типа string, то есть строки. В данном случае они нам пока не нужны, но в реальной программе это те параметры, которые передаются при запуске программы из консоли.
Внутри метода располагаются действия, которые этот метод выполняет. По умолчанию он содержит одно действие: Console.WriteLine("Hello World!"); - выводит в консоль строку "Hello World!".
Теперь мы можем запустить программу на выполнение с помощью клавиши F5 или с панели инструментов, нажав на зелёную стрелку. И если вы все сделали правильно, то при запуске приложения увидите заветную строку.
Теперь сделаем всё поинтересней — изменим код на следующий:
По сравнению с автоматически сгенерированным кодом были внесены несколько изменений. Теперь в методе Main первой строкой выводится приглашение к вводу.
Класс Console, метод которого мы вызываем, находится в пространстве имён System. Это пространство подключено в начале с помощью директивы using. Без подключения пространства имён System невозможно было бы использовать класс Console.
Однако нам необязательно подключать пространство имён. Мы можем даже удалить первую строку, но в этом случае мы тогда должны будем указать полный путь до используемого класса:
Во второй строке определяется строковая переменная name (тип string), в которую пользователь вводит информацию с консоли:
Мы обозначили, что помощью метода ReadLine() можем считать с консоли строку.
Затем введённое имя выводится на консоль:
Чтобы задать вывод значения переменной name в выводимой на консоль строке, применяются фигурные скобки <>. При выводе строки на консоль выражение будет заменяться на значение переменной name — введённое имя.
Знак доллара ($) обозначает, что внутри строки таким образом можно выводить значения переменных. Теперь протестируем проект, запустив его выполнение.
Читайте также: