草庐IT

Invoke-Command

全部标签

c# - 事件.Invoke(args) 与事件(args)。哪个更快?

哪个更快;使用event.Invoke(args),或仅调用event(args)。有什么不同?一个比另一个快还是慢;还是只是偏好问题? 最佳答案 编写someDelegate(...)是someDelegate.Invoke(...)的编译器简写。它们都编译为相同的IL——对该委托(delegate)类型的Invoke方法的callvirt指令。Invoke方法由编译器为每个具体委托(delegate)类型生成。相比之下,在基本Delegate类型上定义的DynamicInvoke方法使用反射来调用委托(delegate)并且速度

c# - 事件.Invoke(args) 与事件(args)。哪个更快?

哪个更快;使用event.Invoke(args),或仅调用event(args)。有什么不同?一个比另一个快还是慢;还是只是偏好问题? 最佳答案 编写someDelegate(...)是someDelegate.Invoke(...)的编译器简写。它们都编译为相同的IL——对该委托(delegate)类型的Invoke方法的callvirt指令。Invoke方法由编译器为每个具体委托(delegate)类型生成。相比之下,在基本Delegate类型上定义的DynamicInvoke方法使用反射来调用委托(delegate)并且速度

c# - 错误 'there is already an open datareader associated with this command which must be closed first'

运行时错误“已经有一个与此命令关联的打开的数据读取器必须先关闭”objCommand=newSqlCommand("SELECTfield1,field2FROMsourcetable",objConn);objDataReader=objCommand.ExecuteReader();while(objDataReader.Read()){objInsertCommand=newSqlCommand("INSERTINTOtablename(field1,field2)VALUES(3,'"+objDataReader[0]+"')",objConn);objInsertComman

c# - 错误 'there is already an open datareader associated with this command which must be closed first'

运行时错误“已经有一个与此命令关联的打开的数据读取器必须先关闭”objCommand=newSqlCommand("SELECTfield1,field2FROMsourcetable",objConn);objDataReader=objCommand.ExecuteReader();while(objDataReader.Read()){objInsertCommand=newSqlCommand("INSERTINTOtablename(field1,field2)VALUES(3,'"+objDataReader[0]+"')",objConn);objInsertComman

c# - 将 C# MethodInvoker.Invoke() 用于 GUI 应用程序……这样好吗?

使用C#2.0和MethodInvoker委托(delegate),我有一个GUI应用程序从GUI线程或工作线程接收一些事件。我使用以下模式处理表单中的事件:privatevoidSomeEventHandler(objectsender,EventArgse){MethodInvokermethod=delegate{uiSomeTextBox.Text="sometext";};if(InvokeRequired)BeginInvoke(method);elsemethod.Invoke();}通过使用这种模式,我不会复制实际的UI代码,但我不确定这种方法是否好。特别是行metho

c# - 将 C# MethodInvoker.Invoke() 用于 GUI 应用程序……这样好吗?

使用C#2.0和MethodInvoker委托(delegate),我有一个GUI应用程序从GUI线程或工作线程接收一些事件。我使用以下模式处理表单中的事件:privatevoidSomeEventHandler(objectsender,EventArgse){MethodInvokermethod=delegate{uiSomeTextBox.Text="sometext";};if(InvokeRequired)BeginInvoke(method);elsemethod.Invoke();}通过使用这种模式,我不会复制实际的UI代码,但我不确定这种方法是否好。特别是行metho

c# - Return value using String result=Command.ExecuteScalar() result返回null时出现错误

我想从数据库中获取第1行第1个单元格值,它与下面的代码配合得很好。但是当没有找到结果时,它会抛出异常。如何处理DBNull.我应该更改我的查询吗?如果他们没有记录,它会返回一些值?System.NullReferenceException:对象引用未设置到对象的实例。代码:publicstringabsentDayNo(DateTimesdate,DateTimeedate,stringidemp){stringresult="0";stringmyQuery="selectCOUNT(idemp_atd)absentDayNofromtd_atdwhere";myQuery+="ab

c# - Return value using String result=Command.ExecuteScalar() result返回null时出现错误

我想从数据库中获取第1行第1个单元格值,它与下面的代码配合得很好。但是当没有找到结果时,它会抛出异常。如何处理DBNull.我应该更改我的查询吗?如果他们没有记录,它会返回一些值?System.NullReferenceException:对象引用未设置到对象的实例。代码:publicstringabsentDayNo(DateTimesdate,DateTimeedate,stringidemp){stringresult="0";stringmyQuery="selectCOUNT(idemp_atd)absentDayNofromtd_atdwhere";myQuery+="ab

c# - 避免在处理控件时调用 Invoke

我的工作线程中有以下代码(下面的ImageListView派生自Control):if(mImageListView!=null&&mImageListView.IsHandleCreated&&!mImageListView.IsDisposed){if(mImageListView.InvokeRequired)mImageListView.Invoke(newRefreshDelegateInternal(mImageListView.RefreshInternal));elsemImageListView.RefreshInternal();}但是,有时使用上面的Invoke方

c# - 避免在处理控件时调用 Invoke

我的工作线程中有以下代码(下面的ImageListView派生自Control):if(mImageListView!=null&&mImageListView.IsHandleCreated&&!mImageListView.IsDisposed){if(mImageListView.InvokeRequired)mImageListView.Invoke(newRefreshDelegateInternal(mImageListView.RefreshInternal));elsemImageListView.RefreshInternal();}但是,有时使用上面的Invoke方