草庐IT

dispatch_semaphore_dispose

全部标签

c# - 在我的 ViewModel 中使用 Dispatcher 是错误的吗?

我正在将我玩的一个游戏的聊天解析器转换为wpf,主要是为了更好地处理MVVM和wpf。这是我如何设置项目的简要说明查看:现在它只是一个简单的列表框,其中ItemSource绑定(bind)到我的View模型可观察的聊天集合型号:我有多个可以一次登录的角色,每个角色都有一个聊天类。聊天类启动一个后台工作程序,该工作程序从游戏中获取下一行聊天内容,并使用该行触发名为IncomingChat的事件。publiceventActionIncomingChat;我正在使用后台工作程序在我的backgroundworkersprogresschaged事件中触发一个事件,因为当我使用计时器时,我一

c# - IDisposable.Dispose() 实现应该是幂等的吗?

Microsoft.NET框架提供了IDisposable接口(interface),它需要实现voidDispose()方法。其目的是启用手动或基于范围的释放IDisposable实现可能已分配的昂贵资源。示例包括数据库集合、流和句柄。我的问题是,Dispose()方法的实现是否应该是幂等的-当在同一个实例上多次调用时,该实例只被“处理”一次,随后的调用不要抛出异常。在Java中,大多数具有相似行为的对象(再次以流和数据库连接为例)的close()操作是幂等的,这恰好是Dispose()方法。但是,我对.NET(尤其是Windows窗体)的个人经验表明,并非所有实现(.NET框架本身

c# - IDisposable.Dispose() 实现应该是幂等的吗?

Microsoft.NET框架提供了IDisposable接口(interface),它需要实现voidDispose()方法。其目的是启用手动或基于范围的释放IDisposable实现可能已分配的昂贵资源。示例包括数据库集合、流和句柄。我的问题是,Dispose()方法的实现是否应该是幂等的-当在同一个实例上多次调用时,该实例只被“处理”一次,随后的调用不要抛出异常。在Java中,大多数具有相似行为的对象(再次以流和数据库连接为例)的close()操作是幂等的,这恰好是Dispose()方法。但是,我对.NET(尤其是Windows窗体)的个人经验表明,并非所有实现(.NET框架本身

c# - 了解流及其生命周期(Flush、Dispose、Close)

注意:我已经阅读了以下两个问题:Canyouexplaintheconceptofstreams?C#usingstreams我正在用C#编写代码在几乎所有使用流的代码示例中,.Dispose()、.Flush()、.Close()几乎总是被调用。在流的概念中,完成了什么?如果我不处理存储在变量中的流,我的应用程序是否会在某处泄漏?为什么我需要调用这些函数中的任何一个?我见过不这样做但仍然完成工作的代码示例(没有明显破损)我目前正在我的应用程序中构建一个包含主要方法(我们称之为GetStream())的类,该方法通过myWebRequest.GetResponse().GetRespo

c# - 了解流及其生命周期(Flush、Dispose、Close)

注意:我已经阅读了以下两个问题:Canyouexplaintheconceptofstreams?C#usingstreams我正在用C#编写代码在几乎所有使用流的代码示例中,.Dispose()、.Flush()、.Close()几乎总是被调用。在流的概念中,完成了什么?如果我不处理存储在变量中的流,我的应用程序是否会在某处泄漏?为什么我需要调用这些函数中的任何一个?我见过不这样做但仍然完成工作的代码示例(没有明显破损)我目前正在我的应用程序中构建一个包含主要方法(我们称之为GetStream())的类,该方法通过myWebRequest.GetResponse().GetRespo

c# - Using 子句无法调用 Dispose?

我正在使用VisualStudio2010来定位.NET4.0客户端配置文件。我有一个C#类来检测给定进程何时开始/终止。为此,该类使用ManagementEventWatcher,其初始化如下;query、scope和watcher是类字段:query=newWqlEventQuery();query.EventClassName="__InstanceOperationEvent";query.WithinInterval=newTimeSpan(0,0,1);query.Condition="TargetInstanceISA'Win32_Process'ANDTargetIns

c# - Using 子句无法调用 Dispose?

我正在使用VisualStudio2010来定位.NET4.0客户端配置文件。我有一个C#类来检测给定进程何时开始/终止。为此,该类使用ManagementEventWatcher,其初始化如下;query、scope和watcher是类字段:query=newWqlEventQuery();query.EventClassName="__InstanceOperationEvent";query.WithinInterval=newTimeSpan(0,0,1);query.Condition="TargetInstanceISA'Win32_Process'ANDTargetIns

c# - 错误 : Must create DependencySource on same Thread as the DependencyObject even by using Dispatcher

以下是我的View的一部分,我在其中将一个图像绑定(bind)到我的ViewModel中的一个属性:我的ViewModel是这样的:publicclassMainWindowViewModel:INotifyPropertyChanged{publicBitmapImageImage{get{return_image;}set{_image=value;OnPropertyChanged();}}Action_makeScannerAlwaysOnAction;privateBitmapImage_image;publicMainWindowViewModel(){AddNewPers

c# - 错误 : Must create DependencySource on same Thread as the DependencyObject even by using Dispatcher

以下是我的View的一部分,我在其中将一个图像绑定(bind)到我的ViewModel中的一个属性:我的ViewModel是这样的:publicclassMainWindowViewModel:INotifyPropertyChanged{publicBitmapImageImage{get{return_image;}set{_image=value;OnPropertyChanged();}}Action_makeScannerAlwaysOnAction;privateBitmapImage_image;publicMainWindowViewModel(){AddNewPers

c# - 如果关联的 SqlConnection 将被处置,是否需要 SqlCommand.Dispose()?

我通常使用这样的代码:using(varconnection=newSqlConnection(ConfigurationManager.ConnectionStrings["MyConn"].ConnectionString)){varcommand=connection.CreateCommand();command.CommandText="...";connection.Open();command.ExecuteNonQuery();}我的命令会自动处理吗?或者不是,我必须将它包装到usingblock中?是否需要处置SqlCommand? 最佳答