Рабочий процесс с C # в Visual Studio - PullRequest
1 голос
/ 20 декабря 2011

Обычно я пишу с помощью PHP, я привык открывать свой любимый редактор и отказываться от него, кодировать классы, методы и т. Д. Это довольно легко, так как нет никакого GUI, о котором нужно беспокоиться.

Прошлой ночью я провел всю ночь, следуя парам уроков по C # в Visual Studio, оказалось, что это сложнее, чем я думал. Как только вещь, к которой я не привык, это то, что во всех руководствах вы добавляете объект формы, такой как текстовое поле или кнопку, затем дважды кликаете по нему, чтобы перейти к части кода, затем вы вводите некоторый код для этого метода. Затем вернитесь к форме и повторите торф

Это кажется очень сложным, так как вы никогда не работаете над "просто кодом", поэтому 1 вопрос: всегда ли это так или просто потому, что я новичок и следую учебным пособиям?

Другой вопрос, когда я вижу исходный код в Интернете для выполнения определенных функций, скажем, я вижу класс, который я хотел бы попробовать использовать, как я могу использовать этот класс в существующем классе формы, созданном VS, вы как-то импортируете другие классы или вы добавляете их прямо в код формы, над которой работаете?

Я уверен, что это не имело особого смысла, но, надеюсь, это кому-то пригодится, я постараюсь сформулировать это лучше, если нет.

Я должен добавить, что это было с WPF, также я чувствую, что вам нужно выучить 2 языка, C #, который имеет синтаксис, очень похожий на PHP, так что это не кажется слишком сложным, а для GUI это похоже на целый язык различий.

Ответы [ 7 ]

3 голосов
/ 21 декабря 2011

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

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

using FooNamespace;

Тогда вы готовы использовать классы.Пространство имен объявляется прямо перед любым классом.Вы можете изменить его.

Теперь о формах.Каждая форма представляет собой Class и состоит из трех файлов

  • ClassForm.cs
  • ClassForm.designer.cs
  • ClassForm.resx

Вам нужен ТОЛЬКО первый.Щелкните правой кнопкой мыши и просмотрите код.Вы можете пойти туда и использовать его.

1 голос
/ 21 декабря 2011

Отчасти да, потому что вы новичок и используете учебные пособия.

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

Если вы просто хотите поиграть с C #, а не заниматься формами и отображением, поищите информацию о консольном приложении. Вместо того, чтобы беспокоиться о кнопках и текстовых полях, ваш худший кошмар будет Console.WriteLine();

Вот несколько консольных руководств по C #:

  1. Учебное пособие по C #
  2. C # Желтая книга - это PDF. Это хорошо.
1 голос
/ 21 декабря 2011

Есть способы иметь интерактивное окно C #;см. этот вопрос .В качестве альтернативы вам не нужно использовать форму, но вы также можете создать приложение командной строки.

Что касается второго вопроса, вы можете добавить новый класс в свой проект и затем использовать его в своемформа.Там действительно нет никакого дополнительного шага, за исключением того, что, если пространства имен отличаются, тогда легче импортировать это пространство имен (через с использованием ).

1 голос
/ 21 декабря 2011

к сожалению, .net world любит элементы управления drag-drop. поэтому большинство учебных пособий разработаны вокруг этой концепции. перетащите текстовое поле на форму. перетащите кнопку на форму. дважды щелкните изображение кнопки, чтобы получить обработчик щелчка.

это не нужно, это просто подход для большинства людей, использующих визуальную студию. в том, что это проект WPF, все можно сделать из кода или разметки xaml. вам не нужен редактор WYSIWYG.

что касается добавления / ссылки на классы, то сначала вам нужно сослаться на сборку, в которой находится класс. Ваши основные типы .net (часть BCL, библиотека базовых классов) автоматически включаются в качестве ссылок. затем вы добавляете оператор использования в соответствующее пространство имен. тогда вы можете создать экземпляр объекта.

1 голос
/ 21 декабря 2011

Множество вопросов, Множество ответов

  1. Трудности и повторы

Вы можете добавлять объекты форм через конструктор или нажимать кнопку источника (CTRL-PgDn).Оттуда вы можете редактировать элементы в asp и html, как и в любой php IDE.Я делаю большую часть работы в источнике.Я настоящий программист, поэтому я никогда не смогу заниматься перетаскиванием.С умом и временем вы узнаете свойства и что делать.чтобы создавать сложные страницы, вам просто нужно знать, что вы делаете.То, что я начал с VS, у меня были те же чувства, что и у вас, но я попал в поток этого.Что касается кода, то вы просто подключаете методы к элементам asp, которые вызываются встроенным кодом.Вы можете добавлять свои собственные классы, функции, все в коде или в отдельных файлах, например, в c ++, php и т. Д.

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

0 голосов
/ 21 декабря 2011

Это действительно зависит от того, что вы пытаетесь выучить.Я не думаю, что я бы начал с WPF, если бы я использовал C #.Я бы начал с консольного приложения, чтобы освоить основы языка, затем перешел к простому приложению WinForms и, наконец, к WPF, с которого вы начали.

Но да, ваши вопросы о работе редактора верны.Так работает эта платформа.

0 голосов
/ 21 декабря 2011

Да, именно потому, что вы читаете видеоуроки, которые почти всегда предназначены для начинающих ... Большинство из нас, зарабатывающих на жизнь, работая в VS, разрабатывая решения WPF, даже не используют визуальный редактор, а вместо этого работают напрямую с XAML для создания нашего пользовательского интерфейса и очень мало кода или его отсутствие в коде файлов, следуя шаблону MVVM.

Чтобы ответить на ваш второй вопрос, большинство ваших классов, которые «делают вещи», которые напрямую не связаны с пользовательским интерфейсом, должны находиться в отдельной библиотеке классов (файл dll) и даже не должны ссылаться непосредственно на ваш основной проект пользовательского интерфейса ( для облегчения слабой связи), но вместо этого доступ осуществляется с использованием некоторой формы внедрения зависимости, как правило, с использованием интерфейсов.

Код, который реагирует на взаимодействие с пользователем, должен находиться в вашем классе ViewModel, который обычно является контекстом данных для ваших представлений, и эти классы виртуальных машин обычно используют сервисные агенты, которые реализуют различные интерфейсы, чтобы использовать код, хранящийся в библиотеках классов, упомянутых в предыдущий абзац.

Теперь можно просто дважды щелкнуть по кнопке и написать весь свой код в этом методе, созданном для вас, в файле кода, как в Winforms, но так же, как в мире Winforms, который приводит к сложному коду. поддерживать, это тесно связано с вашим пользовательским интерфейсом и очень трудно тестировать, поэтому постарайтесь не поддаваться этому мгновенному удовлетворению и потратить некоторое время на изучение шаблона MVVM, шаблонов проектирования DI и OO, которые облегчают повторное использование кода, развязку и тестируемость ... Надеюсь, это поможет ...

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