我倾向于制作很多文件夹,当我做OO时,我将模型放在一个名为Models的文件夹中,然后根据我有BLL,DAL,OBJ
而不是写在我的所有文件using MyApp.Models;
的顶部,我想尽可能将它放在Web.Config中。
我是.net的新手所以我不确定你是否可以,或者即使这是一个好主意。
答案 0 :(得分:2)
可以注册程序集和命名空间以在标记中使用,但不能在代码文件后面的代码中使用。 VB.NET确实在项目级别上支持这一点,但我从不喜欢这个功能,因为它使你的内容不那么明确。
答案 1 :(得分:2)
这是不可能的。
必须在编译时解析类名,并且web.config可以在部署后随时更改。
答案 2 :(得分: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文件中都包含多个using语句,那么我建议的最好的事情是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 Snippets \ Visual C#\ My Code Snippets)后,您应该可以开始输入“usingmyapp”(或你放在{。1}元素内的任何内容,你想要出现using语句的.cs文件的位置; intellisense应该识别它,并通过插入代码段的<Shortcut>
内容为您自动填充。
就个人而言,我并不打算做这样的事情;如果其中一些语句实际上没有在该文件中使用,我不想在我的文件中添加一堆using语句。此外,如果您开始使用出现在多个名称空间中的类名,我认为批量添加几个using语句可能会导致混淆模糊名称冲突。但我认为这只是个人偏好;如果你想这样做,请继续。