如果我使用baseController类,我是否需要在子节点中指定USING?

时间:2011-11-11 05:28:45

标签: c# asp.net-mvc asp.net-mvc-3

如果我的基类有类似的东西:

using System.Web.Mvc;
using System.Web.Routing;
using MFA.Storage.Helpers;
using MFA.Storage.Models;
using MFA.WebUx.Areas.Administration.ViewModels.Notes;
using MFA.WebUx.Areas.Administration.Services.Notes;
using MFA.WebUx.Areas.Administration.ActionFilters
using System;

然后在继承自基本控制器的子类中,我还需要添加所有using指令吗?这是好事还是坏事?

2 个答案:

答案 0 :(得分:3)

using指令不“继承”(它们的范围仅限于声明它们的文件),因此您需要将它们添加到后代类中,除非两个类都位于同一个类中文件。

从最佳实践角度来看,最好将每个类保存在自己的文件中,并根据需要将using指令添加到每个类文件中。

答案 1 :(得分:1)

如果你不使用它们,你肯定不需要那些using指令。您唯一需要的是基本控制器的命名空间。

但是,包含它们并不是真正的“不良做法”......许多Visual Studio的默认文件都有几个默认情况下未使用的using。只要额外的using不会产生冲突,那就把它们放在那里。将它们留在那里比在以后添加它们要容易得多。

作为旁注,有一些GREAT插件可以帮助您组织using指令。我使用Resharper,它“灰掉”任何无用的using指令,表明它们可以被删除。当缺少using指令时,它会找到它并让我轻松添加它 Visual Studio 2010还允许您添加缺少的using指令,因此删除额外的using并不是什么大事。