Централизованное использование ключевого слова в C#

Есть ли способ создать один файл типа «заголовок» на С#?

В C++ у вас было что-то вроде «Mainheader.h», в котором были все ваши включения.

Есть ли способ сделать что-то подобное для С#, где у вас был один файл со всеми вашими «использующими» ключевыми словами?

Прямо сейчас у меня есть куча использования, таких как: using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;

Есть ли способ поместить их все в один заголовочный файл?


person wanderingloki    schedule 31.10.2011    source источник
comment
Нет. Каждый файл должен иметь свои собственные операторы использования, по одному на строку. Если вам нужна функциональность, подобная C++, почему бы просто не использовать C++? ;)   -  person qJake    schedule 31.10.2011
comment
это должен быть ответ, а не комментарий.   -  person Glenn Ferrie    schedule 31.10.2011
comment
И, ну, использование не включает, они только делают пространства имен видимыми для вашего кода.   -  person Iarek    schedule 31.10.2011
comment
Вам не нужно иметь один оператор using, если вы добавите ссылку на проект Visual Studio и предоставите полное пространство имен для всего. То, что вы хотите, не имеет смысла.   -  person Security Hound    schedule 31.10.2011


Ответы (3)


Не совсем. Подход «mainheader.h» работал для C++, потому что заголовки — это буквально текстовые операции копирования и вставки, которые компиляторы выполняли перед фактической компиляцией, отсюда и термин «директива препроцессора».

Возможно, вам будет полезно создать шаблон, содержащий некоторые из наиболее часто используемых вами директив. Вот ссылка на то, как это сделать в Visual Studio 2010: http://msdn.microsoft.com/en-us/library/6db0hwky.aspx. Вы также можете сделать это в MonoDevelop, но это немного сложнее и требует непосредственного редактирования XML. Надеюсь, этого достаточно в качестве обходного пути.

person JustOnePixel    schedule 31.10.2011

Нет. Использование директив применяется только к текущему исходному файлу.

Лично я в любом случае хотел бы делать это — директивы using обычно дают мне представление о том, какой код я увижу в классе, и могут указать на запах кода, если их слишком много. разрозненные. (Я стараюсь не забыть выполнить «Организацию и сортировку использования» перед регистрацией.)

person Jon Skeet    schedule 31.10.2011

Нет, это невозможно. Компилятор C# не поддерживает идею централизации операторов using в одном файле.

person JaredPar    schedule 31.10.2011