2010-08-06 25 views
2

我往往使很多文件夾,做OO當我把模型中的一個文件夾名爲模型,然後根據我有BLL,DAL,OBJ你可以在Web.Config中放入「使用」嗎?

而不是在我的所有文件using MyApp.Models;我頂寫的如果可能的話,想把它放在Web.Config中。

我對.net很陌生,所以我不確定你是否可以或者即使這是個好主意。

+0

你說的是代碼隱藏還是頁面本身?我在這裏假設代碼隱藏,你不是在談論導入指令。 – 2010-08-06 13:10:30

回答

2

我不相信有什麼辦法可以在C#文件的配置文件中做到這一點。

這不完全是你要求的,但最接近它的是你可以在web.config中註冊名稱空間,然後在ascx/aspx標記文件中使用,就像Steven提到的那樣。下面是一個例子:

<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> 

編輯:下面加另一個建議:

如果你有使用的語句是幾個必須包含大部分的的.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> 

位置(... \ My Documents \ Visual Studio 2008 \ Code Snippe ts \ Visual C#\ My Code Snippets),那麼你應該能夠開始在想要使用語句出現的.cs文件的位置輸入「usingmyapp」(或者任何你放在<Shortcut>元素中的內容); intellisense應該識別它並通過插入代碼片段的<Code>內容爲您自動填充。

就個人而言,我不打擾做這樣的事情;我不喜歡在我的文件中添加一堆使用語句,如果其中一些語句實際上並未在該文件中使用。此外,如果您開始使用出現在多個命名空間中的類名稱,則我認爲批量添加多個使用語句可能會導致混淆模糊的名稱衝突。但我認爲這只是個人偏好;如果你想這樣做,繼續。

+0

是的,用於CodeBehind和/或Class文件。這也是一個壞主意@Steven?我想我知道這會讓它更難以知道從哪裏來。然而在調試模式下,你可以看到究竟來自哪裏。 我正在考慮的命名空間是使用MyApp.Models的文件夾,如 ; 然後在代碼中,我可以做類似 BLL.Category myCategory = BLL.Category; 而不是 MyApp.Models.BLL。類別myCategory = MyApp.Models.BLL.Category; – 2010-08-06 13:39:42

+1

@Nathan,這樣做不是一件壞事。如果它讓你更容易編寫代碼,你會盡快完成這項工作,這是一件好事。您隨時可以使用Visual Studio的「組織使用/刪除和排序」功能清理。 – Steven 2010-08-06 16:54:26

+0

目前,因爲我想學習如何正確地做到這一點。我現在處於培訓模式並儘可能快地學習。我有很多東西要學,但我覺得我每天都在學習新的東西。 – 2010-08-10 17:24:30

2

可以註冊用於標記的程序集和名稱空間,但不能用於代碼文件背後的代碼。 VB.NET在項目級別上支持這一點,但我從來不喜歡這個功能,因爲它使得它不太清楚你使用的是什麼。

2

這是不可能的。

類名必須在編譯時解決,web.config可以在部署後隨時更改。

相關問題