问题标签 [using-statement]

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 回答
9531 浏览

c# - 返回用于在 using C# 中使用的变量

我正在返回我在 using 语句内的 using 语句中创建的变量(听起来很有趣):

这会处理属性变量吗?

这样做后仍然收到此警告:

警告 34 CA2000:Microsoft.Reliability:在方法“test.test”中,在对对象“属性”的所有引用超出范围之前调用 System.IDisposable.Dispose。

有任何想法吗?

谢谢

0 投票
1 回答
172 浏览

visual-studio - 为什么在 Silverlight 4/VS 2010 的命名空间中使用 using 指令?

为什么 Silverlight 4/VS 2010 中命名空间内的 using 语句会自动生成代码?

新的约定似乎是

而不是标准:

这样做有任何理由或优势,还是他们就是这样做的?

0 投票
2 回答
230 浏览

c# - 有没有更好的方法来避免使用winforms的无限循环?

我现在正在使用 .Net 3.5。

现在我正在使用一个using技巧来禁用和启用某些代码部分的事件。用户可以更改天数、小时数、分钟数或总分钟数,这不应该导致无限级联的事件(例如分钟更改总数、总更改分钟等)虽然代码可以满足我的要求,但可能会有更好的/ 更直接的方式。你知道吗?

对于粗壮点:

这个控件将被多个团队使用——我不想让它尴尬。我怀疑在定义一天中的小时数、一周中的天数等时,我不需要重新发明轮子。其他一些标准的 .Net 库必须有它。关于代码的任何其他说明?这项using (EventHacker.DisableEvents(this))业务 - 这必须是.Net中的常见模式......暂时更改设置。它叫什么名字?我希望能够在评论中引用它,并阅读更多关于当前实现的信息。在一般情况下,不仅需要记住正在更改的事物的句柄,还需要记住之前的状态(在这种情况下,之前的状态无关紧要 - 无条件地打开和关闭事件)。那么也有可能multi-threaded hacking. 人们也可以利用泛型来使代码更干净。弄清楚所有这些可以导致多页博客文章。我很高兴听到一些答案。

PS 好像我患有强迫症?有些人喜欢完成任务并继续前进;我喜欢让它们保持开放......总有更好的方法。

0 投票
2 回答
6068 浏览

visual-studio-2008 - C++ 中的 /clr 选项

有人可以帮我找到以下错误的解决方案:

“致命错误 C1190:托管目标代码需要 '/clr' 选项”

我的配置是..

  • 视觉工作室 2008
  • Windows 7的

这是代码(我通过使用网络资源获得)

0 投票
5 回答
316 浏览

c# - 关于 C#“使用”语句的样式/可读性问题

我想知道您对我持保留态度的编码风格问题的看法。我意识到可能没有明确的答案,但我想看看在一个方向或另一个方向上是否有强烈的偏好。

我正在经历一个using在很多地方添加语句的解决方案。我经常会遇到这样的事情:

其中 log.Connection 是一个 OracleConnection,它实现了 IDisposable。

我内心的整洁想将其更改为:

但是喜欢简洁和快速完成工作的人想要这样做:

出于某种原因,我觉得这样做有点脏。你认为这很糟糕吗?如果你认为这很糟糕,为什么?如果很好,为什么?

编辑:请注意,这只是众多例子中的一个(有点做作)。请不要拘泥于这样一个事实,即这恰好表明一个记录器类具有一个经过深思熟虑的接口。这与我的问题无关,无论如何我也无权改进课程本身。

0 投票
5 回答
1573 浏览

c# - c# using 语句放置

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

我正在查看一个代码库,其中作者(我尊重的人)始终将 using 语句放置在命名空间内,而不是在其上方。这样做有什么优势(更高效的 GC?)还是这只是代码风格偏好?

干杯,
贝里尔

0 投票
2 回答
1036 浏览

c# - 使用 Reflection.Emit 发出“使用 (x) { ... }” 块?

我正在尝试在 C# 中使用 Reflection.Emit 来发出一个using (x) { ... }块。

在我在代码中,我需要获取堆栈的当前顶部,这是一个实现 IDisposable 的对象,将其存储在局部变量中,在该变量上实现一个 using 块,然后在其中添加更多代码(我可以处理最后一部分。)

这是我尝试在 Reflector 中编译和查看的示例 C# 代码:

这在反射器中看起来像这样:

当使用 Reflection.Emit 时,我不知道如何处理最后的“.try ...”部分。

有人可以指出我正确的方向吗?


编辑:通过电子邮件询问代码后,我将在此处发布我的流畅界面代码,但除非您获取我的一些类库,否则它对任何人都没有多大用处,这也是一些代码。我正在努力处理的代码是我的 IoC 项目的一部分,我需要生成一个类来实现对服务的方法调用的自动记录,基本上是一个用于自动生成代码的服务的装饰器类。

实现所有接口方法的方法的主循环是这样的:

EmitUsing 吐出 Jon 回答的 BeginExceptionBlock,所以这就是我需要知道的。

以上代码来自LoggingDecorator.cs,IL 扩展主要在ILGeneratorExtensions.Designer.cs中,其他文件在LVK.Reflection命名空间中。

0 投票
3 回答
2503 浏览

vb.net - VB.NET:关于“使用”块的问题

考虑代码:

如果块内有错误,Using你如何清理sr对象?

sr对象不在范围内,ErrHandler因此无法调用 sr.Close()。Using即使出现错误,块是否会自动清理任何资源?

0 投票
5 回答
42678 浏览

c# - C# using 语句、SQL 和 SqlConnection

这可能使用 using 语句 C# SQL 吗?

如果打开连接时出现错误怎么办?

using 语句是 try 和 finally
没有 catch

因此,如果我在使用括号之外捕获,捕获会捕获连接打开错误吗?

如果没有,如何使用using上面显示的语句来实现这一点?

0 投票
4 回答
718 浏览

c# - 我是否在 C# 函数中适当地关闭了这个 SQL 连接?

为了解决我关于保持打开和超过最大池的连接的问题,我正在尝试重写用于连接到我们的数据库的函数。

该函数存在于一个自制的编译库中。使用反射器我可以看到代码如下所示:

我打算修改这个来阅读

然后重新编译dll。鉴于SQLProvider()通常在公共类的顶部创建一个实例,然后在类成员中使用该实例(例如:

我会以正确的方式解决这个问题吗?在我看来,连接将在实际检索到数据之前被处理掉。此外,Visual Studio 告诉我SQLProvider()必须隐式转换为System.IDisposable- 我将如何实现这一点?

我尝试将 的所有成员包装class Banner在一个using (DSLibrary.DataProviders.SqlProvider db = new DSLibrary.DataProviders.SqlProvider(Defaults.ConnStr)){}语句中,但智能感知随后显示“类、结构或接口成员声明中的无效标记‘使用’”错误。

解决此问题的最佳方法是什么?

更新 我尝试反汇编调整和重新编译 DSLibrary,但正如 CHris_Lively 所说,我认为它对我没有任何帮助。到目前为止,将有问题的实例更改为我认为更标准的格式是可行的:

我即将研究企业库,似乎这可能是前进的方向。