IDisposable是Microsoft .NET Framework的基类库(BCL)中的一个接口。它旨在提供一种在.NET应用程序代码中释放非托管资源的通用,确定性方法。
何时应该使用实体框架调用 DbContext.dispose() ? 这个想象的方法不好吗? 公共静态字符串GetName(字符串用户ID) { var context = new DomainDbContext(); var userN...
注意这不是一个关于如何在 C# 中实现或模拟鸭子类型的问题... 多年来,我一直认为某些 C# 语言功能依赖于数据结构
我有一个实现 IDisposable 的父组件,其中有一个名为 MyGrid 的子组件。现在,MyGrid 扩展了 Syncfusion 的 SfGrid,后者本身实现了 IDisposable。当我关闭标准杆时...
我有一个具有 Start 和 End 方法的类。我想确保每当调用开始时都必须调用结束。例如: var foo = 新的 foo; foo.Start(); ...做其他事情 foo.E...
什么时候应该使用GC.SuppressFinalize()?
在.NET中,什么情况下应该使用GC.SuppressFinalize()? 使用这种方法给我带来什么好处?
如何确保在停止信号时对高级函数的局部变量调用 Dispose()? [重复]
这个问题是关于调用 Dispose() 的可靠性。 虽然这个相关问题是关于如何自动调用 Dispose() 而不关注可靠性。 我注意到了
System.Runtime.Caching.MemoryCache 在被驱逐时会处理 IDisposable 项目吗?
我有一个构建器类,它创建一个实现 IDisposable 的实例。每当要构建的项目已在缓存中时,构建器将返回该实例。我的问题是,会...
我有一个以 FileStream 作为输入的方法。该方法在 for 循环内运行。 私有无效UploadFile(FileStream fileStream) { var 流 = GetFileStream(); // 用 st 做事...
这是一个简单的例子: 公共类 SafeHandleSpike { [测试] 公共无效假() { var i1 = IO.Fake.Counter; 使用 (var obj = new Fake(true...
这是一个简单的例子: 公共类 SafeHandleSpike { [测试] 公共无效假() { var i1 = IO.Fake.Counter; 使用 (var obj = new Fake(true...
IDE0290 建议使用主构造函数,但如果其中一个参数发生在 IDisposable 注入中,并且您使用只读备份字段来存储它们,则会生成 CA2213 警告 公开
IAsyncDisposable:DisposeAsyncCore 是否应该调用 Dispose(false)?
在 DisposeAsync 文档中,您有以下内容: 类示例ConjunctiveDisposableusing:IDisposable、IAsyncDisposable { ... 公共无效处置() { 处置(处置...
我有一个后台任务,正在使用任务进行建模,并使用 IAsyncDisposable 停止该任务。 // 执行 公共密封类 Worker :IAsyncDisposable { 私有只读
同时实现 IDisposable 和 IAsyncDisposable
假设我有一个非密封类,不处理任何非托管资源。我需要在其处置阶段进行一次异步调用来进行一些清理。没有其他托管资源...
如何将“using”关键字与 Deconstruct 方法连接起来
我想知道我们是否可以加入 using 语句和解构操作。为了更直观地看下面的示例: 使用系统; 公共类 Foo : IDisposable { 公共 IDisposable 栏 { 获取;设置;...
如何处置System.ServiceModel.ClientBase<TChannel>?
我正在使用一个扩展 ClientBase<> 的类: 接口 IService {} MyServiceClient 类:ClientBase {} 我遇到的问题是 FxCop 抱怨一个带有
我有以下类,它是 IDisposable 对象的装饰器(我省略了它添加的内容),它本身使用通用模式实现 IDisposable: 公共课DisposableDeco...
我有一个对象,其中包含一次性对象作为成员。 公开课我的班级 { 私有 MyDisposableMember 成员; 公共做某事 { 使用 (成员 = new MyDisposableMemb...
基本上我有一些如下所示的函数: 我的班级 { 无效 foo() { 使用(SomeHelper助手= CreateHelper()) { // 使用助手做一些事情 ...
这是我所拥有的: 公共无效FindByID(字符串ID) { 使用(解析器解析器=新解析器()){ if ( parser.LoadUserById(id)) { ID = parser.FindID(); 名称 = 解析器。