相关疑难解决方法(0)

C# - using语句的位置

我注意到很多东西来回的一件事是将使用语句放在C#代码文件中 - 无论是在最外层还是在命名空间内.我理解using语句的位置会影响该文件中引用的范围,但我不明白的是,在大多数情况下,有人会想要在其命名空间中使用它们的using语句.

几乎所有情况下,单个文件中只存在一个名称空间声明,因此使用using语句的范围似乎/(是?)无效.如果一个人在同一个文件中放置了多个类型和多个命名空间,那么使用语句进行范围化就很有意义了,但即使在具有一个命名空间的文件中,我仍然会看到很多这种情况.为什么?

using System;

namespace MyNamespace
{
    using System.Text;

    public class MyClass {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

在整个项目中,看似不必要的一个例子是ASP.NET MVC源代码.

c# scope using-statement

10
推荐指数
1
解决办法
6386
查看次数

这两个声明有什么区别?

鉴于此声明:

using System;
using System.Collections;
using System.Collections.Generic;

namespace AProject.Helpers
{
    public static class AClass
    {
Run Code Online (Sandbox Code Playgroud)

和这个宣言

namespace AProject.Helpers
{
    using System;
    using System.Collections;
    using System.Collections.Generic;

    public static class AClass
    {
Run Code Online (Sandbox Code Playgroud)

他们之间有什么区别吗?或者只是编码风格的差异?

我总是习惯于像第一个一样宣布我的课程,但最近注意到微软使用了第二个.

c# coding-style

9
推荐指数
2
解决办法
769
查看次数

LINQ to SQL Designer Bug

每次在保存后更改设计器中的值时,都会删除.designer.cs文件.

有谁能告诉我如何解决这个问题?

sql linq

8
推荐指数
3
解决办法
8330
查看次数

将命令放在命名空间的内部或外部?

我正在学习MVC WebAPI,我正在学习一个教程,一切都很顺利,直到我看到以下内容:

namespace HelloWebAPI.Controllers
{
    using HelloWebAPI.Models;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;

    public class ProductsController : ApiController
    {}
Run Code Online (Sandbox Code Playgroud)

我们通常做的是在开头添加资源\ scope,如下所示:

using HelloWebAPI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace HelloWebAPI.Controllers
{

    public class ProductsController : ApiController
    {}
Run Code Online (Sandbox Code Playgroud)

我的主管告诉我它没关系,应该没问题,因为它是关于这个主题的官方MS教程.

**我想知道为什么这不重要,以便我对它有更好的理解?**

c# coding-style namespaces

8
推荐指数
2
解决办法
4853
查看次数

命名空间声明中的"using"语句位置

可能重复:
应该在命名空间内部或外部使用

我支持一些代码,这些代码在命名空间声明中包含了所有的using语句.这让我有点不舒服,但我不知道这是否应该关注与否.除了与通常的惯例相反之外,我无法想到一个直接的问题.

有什么不对的:

namespace myProject.controls
{
    using System;
    using System.Collections;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
Run Code Online (Sandbox Code Playgroud)

而不是更广泛使用:

using System;
using System.Collections;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace myProject.controls
{
Run Code Online (Sandbox Code Playgroud)

c# namespaces structure conventions

7
推荐指数
1
解决办法
1788
查看次数

"使用"应该在命名空间内还是在外面?

可能重复:
应该在命名空间内部或外部使用

是否有任何技术原因需要这样做

namespace Foo
{
     using System;
     using System.IO;
Run Code Online (Sandbox Code Playgroud)

而不是默认值

using System;
using System.IO;

namespace Foo
{
Run Code Online (Sandbox Code Playgroud)

.net c# coding-style

7
推荐指数
1
解决办法
3296
查看次数

使用指令组织

我过去几个月一直在使用ReSharper,除了广告之外,如果没有它,我看不到自己编码.因为我喜欢生活在流血的"什么地狱出错"的边缘,所以我决定试试我的运气w /最新的ReSharper 4.5夜间版本.这一切都很好.

但是,我注意到using指令分组格式已经改变,我想知道哪个更接近一般标准:

[旧]

#region Using directives
using System.X;
using System.Y;
using System.Z;
using System.A;
#region
namespace X { ... }
Run Code Online (Sandbox Code Playgroud)

[新]

namespace X {
#region Using directives
using System.X;
using System.Y;
using System.Z;
using System.A;
#region
...
}
Run Code Online (Sandbox Code Playgroud)

除了延迟加载引用之外,它是否可以用于任何特殊目的?(正在阅读Scott Hanselman对此的看法@ http://www.hanselman.com/blog/BackToBasicsDoNamespaceUsingDirectivesAffectAssemblyLoading.aspx)

谢谢;

c# coding-style using-directives

6
推荐指数
1
解决办法
794
查看次数

命名空间和使用指令

如果我有一个名称空间,如:

namespace MyApp.Providers
 {
    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Globalization;
  }
Run Code Online (Sandbox Code Playgroud)

这是否意味着如果我创建具有相同命名空间的其他文件和类,则共享using语句,并且我不需要再次包含它们?

如果是的话,这不是一个管理上的头疼吗?

c# namespaces using-directives

6
推荐指数
1
解决办法
7780
查看次数

在 C# 命名空间之前或之后使用语句

可能的重复:
Usings 应该在命名空间内部还是外部

因此,有两种方法可以让您使用与命名空间相关的语句。您可以将它们放在名称空间声明之外或内部。两种方法之间的优缺点是什么,通常首选哪种方法。

using System;

namespace MyNamespace
{
}
Run Code Online (Sandbox Code Playgroud)

或者:

namespace MyNamespace
{    
      using System;                 
}
Run Code Online (Sandbox Code Playgroud)

c# namespaces

6
推荐指数
1
解决办法
4794
查看次数

找不到命名空间!

我创建了一个解决方案Foo.添加了一个名为Foo.Common Added a console app的类库,用于调用来自调用的库代码ConsoleApp.

我引用了Foo.CommonfromConsoleApp和typed:

using Foo.Common;
public class Program
{
    CommonClass c = new CommonClass();            

    static void Main(string[] args)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

并得到这个:

Error 1 The type or namespace name '**Foo**' could not be found (are you missing a using directive or an assembly reference?) Z:\Foo\Solution1\ConsoleApplication1\Program.cs 3 11 ConsoleApplication1

我为什么要这个?

这是怎么回事?

.net c# using reference

6
推荐指数
1
解决办法
1万
查看次数