问题标签 [using]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
1124 浏览

c# - 在 C# 中维护使用指令的“干净”列表有什么好处?

我知道 VS2008 具有使用指令进行清理的删除和排序功能,Resharper 也是如此。除了您的代码“干净”并消除了引用将来可能不存在的命名空间的问题之外,维护 using 指令的“干净”列表有什么好处?

代码少?更快的编译时间?

0 投票
16 回答
56173 浏览

c# - C# using 语句捕获错误

我只是在看 using 语句,我一直都知道它的作用,但直到现在还没有尝试使用它,我想出了以下代码:

这似乎可行,但是这有什么意义,因为据我所知,我仍然需要将其包含在 try catch 块中以捕获不可预见的错误,例如 sql server 关闭。我错过了什么吗?

据我目前所见,它只是阻止我关闭和处理 cmd,但由于仍然需要 try catch,所以会有更多的代码行。

0 投票
1 回答
9940 浏览

c++ - “使用”声明可以与模板一起使用吗?

是否可以将“使用”声明与模板基类一起使用?我读过它不在这里,但这是由于技术原因还是违反 C++ 标准,它是否适用于 gcc 或其他编译器?如果不可能,为什么不呢?

示例代码(来自上面的链接):

0 投票
4 回答
5095 浏览

c# - 处理命令并直接在命令上定义连接时连接是否关闭?

我知道存在很多示例,其中定义了 SqlConnection,然后定义了 SqlCommand,两者都在 Using 块中:

我的问题:如果我直接在 SqlCommand 上定义连接,那么在释放命令时连接会关闭吗?

0 投票
2 回答
2544 浏览

c# - 在 using 语句中 LINQ 如何延迟执行

想象一下,我有以下内容:

根据文档,linq 执行将推迟到我实际枚举结果,该结果出现在 foreach 的行中。然而 using 语句应该强制在调用 MyFunct() 结束时可靠地收集对象。

实际发生了什么,处置器何时运行和/或结果运行?

我唯一能想到的是延迟执行是在编译时计算的,所以编译器将实际调用移动到 foreach 的第一行,导致 using 正确执行,但直到 foreach 行才运行?有大神可以帮忙吗?

编辑:注意:这段代码确实有效,我只是不明白如何。

我做了一些阅读,并在我的代码中意识到我调用了 ToList() 扩展方法,该方法当然会枚举结果。勾选答案的行为对于回答的实际问题是完全正确的。

很抱歉有任何混淆。

0 投票
2 回答
160 浏览

c++ - 是否可以将模板实例视为命名空间?

假设我有

从语义上讲,“SomeFunctionalityFor6”本质上是一个特定于模板参数的命名空间,6。所以在代码中使用模板的这个实例而不是做

我宁愿能够使用“使用”语句,也就是真正的命名空间

正如我所怀疑的那样,这不起作用。Visual Studio 抱怨它想要一个由“命名空间”关键字定义的命名空间,跟在任何 using 语句之后。

反正有什么我想做的吗?主要是我不想每次调用静态方法时都完全限定命名空间。我知道它主要只是语法糖,但在我看来,它可以使代码更具可读性。我想知道是否有办法直接对命名空间进行模板化,而不必使用“class”关键字。

0 投票
3 回答
2302 浏览

asp.net - using 语句是否阻止我关闭或销毁对象?

如果我使用类似的东西:

我必须做一个 conn.close(); 还是 using 语句使我无法进行最后一次通话?它会处理 using 块中的所有内容吗?例如,如果我调用其他不相关的对象,它是否也会自动处理这些对象?

谢谢你。在阅读了有关在 Microsoft 网站上使用的信息后,我不清楚。我想确保我没有任何内存泄漏。

0 投票
6 回答
10557 浏览

python - python 有类似 C++ 的 using 关键字吗?

在 C++ 中,您通常可以通过仔细使用“using”关键字来大幅提高代码的可读性,例如:

变成

python是否存在类似的东西,还是我必须完全限定所有内容?

我将添加我知道 using 有其缺陷的免责声明,并且应适当限制其范围。

0 投票
14 回答
86392 浏览

c# - 我什么时候应该在 C# 中使用“使用”块?

是否存在我应该(或不应该?)使用“使用”块的特殊情况:

0 投票
26 回答
114143 浏览

c# - WCF 客户端“使用”块问题的最佳解决方法是什么?

我喜欢在一个using块中实例化我的 WCF 服务客户端,因为它几乎是使用实现的资源的标准方式IDisposable

但是,正如这篇 MSDN 文章中所述,将 WCF 客户端包装在一个using块中可能会掩盖任何导致客户端处于故障状态(如超时或通信问题)的错误。长话短说,当Dispose()被调用时,客户端的Close()方法会触发,但由于它处于故障状态而引发错误。然后,原始异常被第二个异常掩盖。不好。

MSDN 文章中建议的解决方法是完全避免使用using块,而是实例化您的客户端并使用它们,如下所示:

using街区相比,我认为这很丑陋。每次需要客户端时都要编写大量代码。

幸运的是,我发现了一些其他的解决方法,例如在(现已不复存在的)IServiceOriented 博客上的这个。你开始:

然后允许:

这还不错,但我不认为它像using块一样富有表现力和易于理解。

我目前尝试使用的解决方法是我第一次在blog.davidbarret.net上读到的。基本上,无论您在哪里使用,您都可以覆盖客户端的Dispose()方法。就像是:

这似乎能够using再次允许该块,而没有掩盖故障状态异常的危险。

那么,在使用这些变通方法时,我还需要注意哪些其他问题?有没有人想出更好的办法?