Файл класса в visual studio 2008 - PullRequest
       14

Файл класса в visual studio 2008

0 голосов
/ 28 января 2010

При создании нового файла класса я получил эти пространства имен по умолчанию,

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

Но я не использую linq, элементы управления HTML, веб-элементы управления, конфигурацию, безопасность ...

  • Почему они включены по умолчанию?
  • Что произойдет, если я исключу их из файла моего класса?
  • Что будет, если я включу их, не используя их?

Ответы [ 3 ]

2 голосов
/ 28 января 2010

Почему они включены по умолчанию?

Visual Studio добавляет список общих включений в любой созданный вами файл класса. Поскольку это проект ASP.Net, это список операторов использования, добавленных в ваш файл. Для проектов WinForms это другой набор значений.

Что произойдет, если я исключу их из файла моего класса?

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

Что будет, если я включу их, не используя их?

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

1 голос
/ 28 января 2010

Ничего не произойдет, если вы исключите их.

Ничего не случится, если вы включите их.

Рекомендуется удалить те, которые вам не нужны.

Не уверен насчет веб-контента, но Linq включен по умолчанию для всех приложений 3.5, вероятно, потому, что предполагается, что вы будете использовать их столько же, сколько и системный.

1 голос
/ 28 января 2010

Эти пространства имен включены по умолчанию в файлы, которые вы добавляете в проект ASP.Net.

Инструкция using просто сообщает компилятору, в каких пространствах имен находятся используемые вами классы.
Если вы не используете какие-либо классы из этих пространств имен, оператор using не будет действовать вообще; их удаление или хранение не имеет значения.

Предупреждение: если есть два класса с одинаковыми именами в двух разных пространствах имен (например, System.Windows.Forms.Control и System.Web.UI.Control) и у вас есть операторы using для обоих пространств имен, вы не сможете использовать класс, если вы полностью не квалифицируете его с именем пространства имен. (Потому что компилятор не может знать, какой вы хотите)

...