问题标签 [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 投票
7 回答
2046 浏览

c# - 如何在 C# 中执行 C++ 风格的析构函数?

我有一个带有Dispose函数的 C# 类IDisposable。它旨在在using块内使用,因此可以立即释放它处理的昂贵资源。

问题是在调用之前抛出异常时发生了错误Dispose,而程序员忽略了使用usingor finally

在 C++ 中,我从来不用担心这个。对类的析构函数的调用将自动插入到对象作用域的末尾。避免这种情况发生的唯一方法是使用 new 运算符并将对象保存在指针后面,但这需要程序员额外的工作不是他们会偶然做的事情,比如忘记使用using.

有什么方法using可以在 C# 中自动使用块?

非常感谢。

更新:

我想解释一下为什么我不接受终结者的答案。这些答案本身在技术上是正确的,但它们不是 C++ 风格的析构函数。

这是我发现的错误,简化为基本要素...

使用FXCop是一个很好的建议,但如果这是我唯一的答案,我的问题将不得不成为 C# 人的请求,或者使用 C++。二十个嵌套 using 语句有人吗?

0 投票
2 回答
12210 浏览

.net - 您如何解决 .Net 命名空间与“使用”关键字的冲突?

这是问题所在,您包含多个程序集并在代码文件的顶部添加“使用命名空间X”。
现在您想创建一个类或使用在多个命名空间中定义的符号,例如System.Windows.Controls.Image&System.Drawing.Image

现在,除非您使用完全限定名称,否则尽管顶部有正确的“使用”声明,但由于歧义,将会出现婴儿床/构建错误。这里的出路是什么?

(另一个知识库帖子。。我搜索了大约 10 分钟后找到了答案,因为我不知道要搜索的正确关键字)

0 投票
29 回答
300670 浏览

c# - C#中“使用”的用途是什么?

用户kokos通过提及关键字回答了精彩的 C# 隐藏功能问题。using你能详细说明一下吗?有什么用途using

0 投票
10 回答
2125 浏览

c# - 是否有比嵌套“使用”更好的确定性处置模式?

在 C# 中,如果我想确定性地清理非托管资源,我可以使用“using”关键字。但是对于多个依赖对象,这最终会越来越嵌套:

在 C++ 中,我习惯于使用析构函数来做到这一点:

在 C# 中有没有更好的方法来做到这一点?还是我坚持多层嵌套?

0 投票
14 回答
55775 浏览

c# - 为什么要使用指令删除不必要的 C#?

例如,我很少需要:

但默认情况下它总是在那里。如果您的代码包含不必要的using 指令,我假设应用程序将使用更多内存。但是还有什么我应该注意的吗?

此外,如果仅在一个文件与大多数/所有文件中使用相同的 using 指令,它是否有任何区别?


编辑:请注意,此问题与称为using 语句的不相关概念无关,旨在通过确保当对象超出范围时调用其IDisposable.Dispose方法来帮助管理资源。请参阅C# 中“使用”的使用

0 投票
11 回答
31922 浏览

c# - C#“使用”语法

using 是捕获异常还是抛出异常?IE

如果流读取器抛出异常,它是通过使用捕获还是抛出以便调用函数可以处理它?

0 投票
7 回答
2272 浏览

.net - Response.Redirect("") 在“使用{}”中

假设以下代码:

Response.Redirect() 从 using 块中退出会导致它处理所有连接吗?

或者,是否有任何方法可以退出不会导致处置的 using 块?

编辑:我不想在没有处置的情况下退出。我想知道任何会导致它不起作用的陷阱。- 当然,除非崩溃,但我很确定所有对象都已处理 - 艰难的方式 - 在那种情况下

我接受了一个答案,基本上说“我不知道”,但这是一个经过充分研究的“我不知道”

同时,我将假设 Response.Redirect 中止 using 语句和代码。-- 除非另有证明。

0 投票
5 回答
57400 浏览

wcf - 使用 WCFTestClient 测试简单 WCF Web 服务的 WCF 错误

当我尝试使用“wcftestclient”测试 AutoLotWCFService 时,出现以下错误。我究竟做错了什么?任何见解都会有所帮助。这是一个简单的 Web 服务,它具有 wshttpbinding 和接口契约以及服务中的实现。这是长错误消息:Web.Config 文件有 2 个端点 - 一个用于 Web 服务本身,另一个用于 metaDataExchange。它几乎都是默认的东西。如果需要,我可以包含代码 - 似乎我无法在此处附加文件。



0 投票
9 回答
335490 浏览

c# - 什么是 C# Using 块,我为什么要使用它?

UsingC#中块的目的是什么?它与局部变量有何不同?

0 投票
8 回答
3811 浏览

c++ - 你更喜欢显式命名空间还是 C++ 中的“使用”?

使用 C++ 命名空间时,您是否更喜欢显式命名它们,如下所示:

还是您更喜欢using namespace

如果您更喜欢后者,您是否在文件或函数范围内声明您的使用?

就我个人而言,我更喜欢明确地命名它们——它的类型更多,但是当使用混合命名空间(例如stdboost)时,我发现它更具可读性。