2010-08-06 4 views
2

я склонен сделать много папок и при выполнении OO я поставил модели в папке Models, то под этим я имею BLL, DAL, OBJМожете ли вы поместить «использование» в Web.Config?

Вместо того, чтобы писать в верхней части всех моих файлов using MyApp.Models; I хотел бы поместить это в Web.Config, если это возможно.

Я новичок в .net, поэтому я не уверен, можете ли вы или даже если это хорошая идея.

+0

Вы говорите об этом в коде или на самой странице? Я предполагаю, что код здесь, и вы не говорите о директиве импорта. –

ответ

2

Я не верю, что есть какой-либо способ сделать это в файле конфигурации для файлов C#.

Это не то, о чем вы просите, но самое близкое к тому, что вы можете зарегистрировать пространства имен в файле web.config, которые затем можно использовать в файлах разметки ascx/aspx, как упоминал Стивен. Ниже приведен пример:

<configuration> 
    <system.web> 
     <pages> 
      <namespaces> 
       <add namespace="System.Web.Mvc"/> 
       <add namespace="System.Web.Mvc.Ajax"/> 
       <add namespace="System.Web.Mvc.Html"/> 
       <add namespace="System.Web.Routing"/> 
       <add namespace="System.Linq"/> 
       <add namespace="System.Collections.Generic"/> 
       <!-- Add your own namespaces here --> 
      </namespaces> 
     </pages> 
    </system.web> 
</configuration> 

EDIT: добавлено еще одно предложение ниже:

Если у вас несколько используя операторы, которые должны были быть включены в большинство ваших .cs файлов, то лучшее, что я мог бы предложить, либо A) держать те используя операторы удобно, где вы можете просто скопировать/вставить их по мере необходимости, или B) создать C# фрагмент кода, например, на примере ниже:

<?xml version="1.0" encoding="utf-8" ?> 
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 
    <CodeSnippet Format="1.0.0"> 
     <Header> 
      <Title>using MyApp</Title> 
      <Shortcut>usingmyapp</Shortcut> 
      <Description>Code snippet for common using statements with MyApp</Description> 
      <Author></Author> 
      <SnippetTypes> 
       <SnippetType>Expansion</SnippetType> 
      </SnippetTypes> 
     </Header> 
     <Snippet> 
      <Code Language="csharp"> 
       <![CDATA[using MyApp.Common; 
using MyApp.Common.Extensions; 
using MyApp.Domain; 
using MyApp.Models; 
// *** add whatever using statements you want here *** 
$end$]]> 
      </Code> 
     </Snippet> 
    </CodeSnippet> 
</CodeSnippets> 

После добавления этого файла в соответствующем location (... \ Мои документы \ Visual Studio 2008 \ Code Snippe ts \ Visual C# \ My Code Snippets), тогда вы должны просто начать вводить «usingmyapp» (или все, что вы помещаете внутри элемента <Shortcut>) в месте расположения вашего .cs-файла, в котором должны появляться операторы using; intellisense должен распознать его и автозаполнять его для вас, вставив содержимое фрагмента кода <Code>.

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

+0

Да, для файлов CodeBehind и/или Class. Также это плохая идея @Steven? Полагаю, я понимаю, что это затрудняет поиск информации о том, что происходит. Однако в режиме отладки вы можете точно видеть, что происходит. Пространство имен, которое я рассматривал, предназначалось для такой папки, как с использованием MyApp.Models; , то в коде я могу сделать что-то вроде BLL.Category myCategory = BLL.Category; вместо MyApp.Models.BLL.Категория myCategory = MyApp.Models.BLL.Category; –

+1

@ Натан, это не злая вещь. Если вам будет проще писать код, вы скорее закончите работу, и это хорошо. Вы всегда можете очистить его с помощью функции «Упорядочить использование/Удалить и сортировать» в Visual Studio. – Steven

+0

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

2

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

2

Невозможно.

Имена классов должны быть разрешены во время компиляции, а web.config может быть изменен в любое время после развертывания.

Смежные вопросы