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

drawing - 在 JOGL 中使用鼠标拖动事件进行绘制。

好吧,我想我可能需要一些帮助。我是 JOGL 的新手,我正在尝试在 3d 画布上绘制任何东西,但重点是使用鼠标拖动事件。知道我怎么能做到这一点?

我尝试了以下方法,但没有成功。而且在下面的代码中,我不明白为什么 display() 方法在被调用之前被调用事件。

提前非常感谢..

0 投票
1 回答
148 浏览

.net - Why doesn't parent object fail with a previously disposed child object?

Potentially embarrassing question, but there is obviously something I'm missing that I want/need to know.

I expect the following code to create a new table row with new cells to be rendered later. And that's what it does ... as you would expect.

But .... but aren't the TDs created in the using statements invalidated once they go out of the 'using' scope? Wouldn't the TD objects referenced by the row now be invalid and shouldn't the row fail when it attempts to use them? The same could be said for the TR when it's rendered by the 'tbl' object.

Do I not understand dispose?

Do I not understand using?

Is TableRow.Cells.Add() actually doing a deep copy not just a ref ptr copy?

Can the TableCell actually be used after it's disposed?

What gives?

0 投票
5 回答
13070 浏览

c# - 使用语句和 try-catch()-finally 重复?

using(...) 语句是 try{} finally {} 的语法糖。

但是,如果我有如下的 using 语句:

现在我想捕获打开此文件可能导致的异常(这是相当高风险的代码,因为它可能由于环境而失败),但是如果我在里面写 try-catch 会不会是重复?当代码被编译为 IL 时,我假设当代码被 JITted 时重复将被删除?

但是,我想捕获打开文件可能导致的异常(因此我应该将 try-catch 包装在 using 语句的范围之外),以及我在 using 块内执行的任何操作的异常,因此我应该添加 try-catch块内。

这似乎是我在 CLR 内部可能执行的操作中添加了很多重复内容。CLR 是否添加了 catch 子句?

我的同事认为 using 语句很混乱(但这是因为我对它们进行了硬编码,因为我需要非常快速地更改它们并且无法访问代码库的其他部分,因此单行稍长)。说同事不使用 using 语句,但是 using 语句和 try-finally/try-catch-finally 之间是否存在任何功能差异?我确实看到了一个案例,其中 WCF 服务有一个不为人知的关于使用 finally 和返回值(关于 finally)的极端案例。解决方案是使用检查块。C#中有这样的东西吗?

另一方面,是否所有实现 IDisposale 非托管资源所有者的类型?与我朋友的讨论指出答案是否定的。(我也在这个论坛的使用部分阅读了一些主题,那里有一些非常好的知识)。

0 投票
2 回答
836 浏览

c++ - 如何阻止新表单使用命名空间 System::Collections

如果我创建一个名为 myForm 的新表单,myForm.h 的顶部如下所示:

这些甚至都不需要,因为出色的表单设计师总是完全限定其对象。

标有 THIS ONE 的那个特别烦人,因为它破坏了我的构建。这是因为我到处都使用 IList 的通用形式——我非常喜欢它,所以我把它放在 stdafx.h 中,如下所示:

因此,如果我想从碰巧使用 IList 的任何其他文件中使用 myForm,如下所示:

然后它无法编译:

那么,我怎样才能阻止新表单添加所有这些无用和破坏性的用途呢?

0 投票
3 回答
232 浏览

c# - 帮助我理解 MY`Using` 和 `DataContext`

有人可以向我解释以下内容。首先是我如何调用该方法,第二位是 LINQ 方法。

我的好奇源于这样一个事实,即context如果我取消注释该using部分,我会收到错误消息。

为什么?我显然不完全理解usingcontext's。我想更好地理解这一点。

0 投票
2 回答
17223 浏览

c# - 在 using() { } 块中的 yield return 语句 在执行前释放

我编写了自己的自定义数据层以持久保存到特定文件,并使用自定义 DataContext 模式对其进行了抽象。

这一切都基于 .NET 2.0 框架(给定目标服务器的约束),因此即使其中一些可能看起来像 LINQ-to-SQL,但它不是!我刚刚实现了一个类似的数据模式。

请参阅下面的示例,以了解我还无法解释的情况。

要获取所有实例Animal- 我这样做并且效果很好

以及下面GetAllAnimals()方法的实现AnimalDataContext

AnimalDataContext工具,IDisposable因为我有一个XmlTextReader在那里,我想确保它得到迅速清理。

现在,如果我像这样将第一个调用包装在 using 语句中

并在方法的第一行放置一个断点,在AnimalDataContext.GetAllAnimals()方法的第一行放置另一个断点AnimalDataContext.Dispose(),然后执行...

Dispose()方法被称为 FIRST 以便AnimalXmlReader.GetNames()给出“对象引用未设置为对象实例”异常,因为AnimalXmlReader已设置nullDispose()???

有任何想法吗?我有一种预感,它与yield return不允许在 try-catch 块内被调用有关,该块using有效地表示,一旦编译......

0 投票
3 回答
5532 浏览

asp.net-mvc - ASP.NET MVC - System.Data.DataSet 未引用问题

好吧,首先对这个问题感到抱歉,这对你们来说一定很简单,但我正在努力解决这个问题,我需要让它发挥作用:(好吧,我正在尝试在我的应用程序上使用 DataSet

当我渲染它时,我得到了:

在我的应用程序中 System.Data 已经被 C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll 引用

我也在使用我的 using 子句

此数据集是来自 Web 服务的响应 那么关于如何解决此问题的任何想法?

PS。我不知道它是否有帮助,但我正在使用 nHaml 来呈现我的视图

非常感谢


更新:

我现在找到的唯一解决方案是将 DataSet 传递给视图转换器,将 DataSet 传递给

并像这样在整个 DataSet 中传递一个循环

实际上,这完全是疯狂的,不是吗?

如果直接使用DataSet,所有这些工作都可以很容易地在视图中完成我希望任何人都可以帮助我用更简单的方式来做这件事

谢谢 :)


更新(解决方案)

Simon 的回答非常有效,它在为 System.Data 和 System.Xml 添加命名空间后的第一次尝试中起作用,但同时,Josh 的回答提出了一种非常好的和很酷的使用 DataSet 的方法,我认为效果更好我想我现在就去。

谢谢你的帮助

0 投票
2 回答
64 浏览

c# - 如何将“使用”类型的对象传递给函数?

我有一个看起来像这样的代码:

它不起作用 - 抱怨对象引用和非静态字段。这是一个控制台应用程序,因此它具有 Main() 函数。我应该如何使它工作?我尝试按要求添加参考:

我有一个看起来像这样的代码:

但它仍然没有工作

0 投票
5 回答
301 浏览

c# - “使用”和范围界定之间的区别?

以下两段代码有什么区别:

我已经开始使用using更多,但我很好奇与范围对象相比的实际好处是什么。

编辑:我从中得到的有用的花絮:

乔恩斯基特:

请注意,这不会以任何方式、形状或形式强制垃圾收集。垃圾收集和及时的资源清理有些正交。

将 Eddins 评论:

除非您的类实现了 IDisposable 接口,并且具有 Dispose() 函数,否则不要使用 using。

0 投票
8 回答
926 浏览

c# - 为什么“使用”没有 catch 块?

我理解“使用”的目的是保证调用对象的 Dispose 方法。但是应该如何处理“使用”语句中的异常呢?如果出现异常,我需要将我的“使用”语句包装在 try catch 中。例如:


假设在 using 参数内创建对象时创建了一个异常

或使用范围内的异常

似乎如果我已经需要使用 try catch 来处理异常,那也许我也应该处理对象的处理。在这种情况下,“使用”语句似乎根本没有帮助我。如何使用“using”语句正确处理异常?我缺少更好的方法吗?

“使用”关键字语法是否可以更甜美一些......
如果有这个肯定会很好: