c# - "parameter count mismatch"调用方法时

标签 c# wpf

我正在使用 wpf 应用程序编写 C#,但收到此错误

parameter count mismatch

调用 DoDisplay 方法时。不知道少了哪个参数?

这是我的代码

public System.Windows.Controls.RichTextBox _displayWindow = new System.Windows.Controls.RichTextBox();

 public void DisplayData(messageType type, String msg)
 {
     _displayWindow.Dispatcher.Invoke(new EventHandler(DoDisplay));
 }

 public void DoDisplay(object sender, EventArgs e)
 {
    try {
       _displayWindow.Selection.Text  = string.Empty;
       _displayWindow.AppendText(_msg);
       _displayWindow.ScrollToEnd();
    }
    catch (Exception ex) 
    {
    }
 }

最佳答案

Dispatcher.Invoke 采用 Action,即不带参数的 delegate。由于您在方法中没有使用 senderEventArgs ,因此将您的方法更改为:

public void DoDisplay()
{
}

及其调用:

_displayWindow.Dispatcher.Invoke(new Action(() => DoDisplay()));

如果您想使用要调用的委托(delegate),那么您必须在调用中传递参数:

_displayWindow.Dispatcher.Invoke(YOURDELEGATE, YOURPARAMETERS)

关于c# - "parameter count mismatch"调用方法时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19701731/

相关文章:

c# - 为什么它不起作用? StartupLocation = WPF 中的 CenterOwner

c# - 如何有选择地验证 WPF 中的表单?

wpf - 使用 InvokeCommandAction MVVM 传递参数

c# - 用户控制 + ViewModelBase

c# - 从 Fortran 调用 C#

c# - C# 中的谓词问题

c# - 在 XP 中禁用 WiFi 基础架构访问

c# - AddTransient、AddScoped 和 AddSingleton 服务差异

WPF 样式颜色

c# - MySQL 查询返回参数列名