以下是我从aspnetwebstack
获得的示例代码http://aspnetwebstack.codeplex.com/SourceControl/latest#src/System.Web.Mvc/Html/MvcForm.cs
using System.Diagnostics.CodeAnalysis;
using System.Web.Mvc.Properties;
namespace System.Web.Mvc.Html
{
public class MvcForm : IDisposable
{
private readonly ViewContext _viewContext;
private bool _disposed;
[SuppressMessage("Microsoft.Usage", "CA1801:ReviewUnusedParameters", MessageId = "httpResponse", Justification = "This method existed in MVC 1.0 and has been deprecated.")]
[Obsolete("This constructor is obsolete, because its functionality has been moved to MvcForm(ViewContext) now.", true /* error */)]
public MvcForm(HttpResponseBase httpResponse)
{
throw new InvalidOperationException(MvcResources.MvcForm_ConstructorObsolete);
}
public MvcForm(ViewContext viewContext)
{
if (viewContext == null)
{
throw new ArgumentNullException("viewContext");
}
_viewContext = viewContext;
// push the new FormContext
_viewContext.FormContext = new FormContext();
}
IDisposable在命名空间System中定义。为了使用它,必须像这样声明命名空间System,
Using System
但是在这个例子中,它没有声明。
我的问题是
默认情况下是否存在包含命名空间的地方而没有C#中的声明?
答案 0 :(得分:6)
using System;
,因为代码已经位于System
命名空间中(请参阅namespace System.Web.Mvc.Html
行)。
要回答你的问题,除了已经存在于该命名空间之外,没有办法在C#中包含没有声明的命名空间。