- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个在另一个线程上工作的 DirectoryMonitor 类。它声明了以下事件:
public class DirectoryMonitor
{
public event EventHandler<MonitorEventArgs> CreatedNewBook;
public event EventHandler ScanStarted;
....
}
public class MonitorEventArgs : EventArgs
{
public Book Book { get; set; }
}
有一个使用该监视器的表单,在收到事件后,它应该更新显示。
现在,这有效:
void DirectoryMonitor_ScanStarted(object sender, EventArgs e)
{
if (InvokeRequired)
{
Invoke(new EventHandler(this.DirectoryMonitor_ScanStarted));
}
else {...}
}
但这会抛出 TargetParameterCountException
:
void DirectoryMonitor_CreatedNewBook(object sender, MonitorEventArgs e)
{
if (InvokeRequired)
{
Invoke(new EventHandler<MonitorEventArgs>(this.DirectoryMonitor_CreatedNewBook));
}
else {...}
}
我错过了什么?
最佳答案
Invoke 方法除了接收 System.Delegate
实异常(exception),无需传递任何其他参数即可调用该实例。使用 DirectoryMonitor_ScanStarted
创建的委托(delegate)需要 2 个参数,因此在使用时会出现异常。
您需要创建一个新委托(delegate),将调用和参数包装在一起。
MethodInvoker del = () => this.DirectoryMonitor_ScanStarted(sender,e);
Invoke(del);
关于c# - 调用 EventHandler 泛型,TargetParameterCountException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2484226/
我有一个 PolygonRenderer 类,其中包含一个 顶点 属性,它是一个列表,保存类渲染的多边形的点。 当我尝试通过反射更改此列表中的特定点时,我在函数的最后一行收到 System.Refle
我有一个函数需要模拟以返回其参数之一。 函数如下所示: IEnumerable WrapDocuments(MessageSettings messageSettings, IEnumerable d
我正在使用以下代码输出属性值: string output = String.Empty; string stringy = "stringy"; int inty = 4; Foo spong =
我们的存储库具有“保存”方法。每当保存实体时,它们还会引发“已创建”事件。 我们一直在尝试使用 Moq 来模拟存储库...... var IRepository = new Mock(); Reque
我有一个在另一个线程上工作的 DirectoryMonitor 类。它声明了以下事件: public class DirectoryMonitor { public event EventHa
我收到参数计数不匹配异常: Getting Unhandled Exception: System.Reflection.TargetParameterCountException: Paramete
我是 Moq 的新手,所以希望我只是遗漏了一些东西。出于某种原因,我得到了 TargetParameterCountException。 你能看出我做错了什么吗?任何问题?请问。 :) 这是我的代码:
我有一个 .NET (3.5 w/Dev Studio 2008) 应用程序,它承载一个可视化 Active X(用 C++ w/Dev Studio 2003 编写)。可以访问所有源,但不能轻松地将
我有一个奇怪的问题:当我使用 mu 存储库 stub 时,我得到了一个奇怪的异常: System.Reflection.TargetParameterCountException 创建 stub (在
我创建了一个 BeginInvoke,这样我就可以从非 UI 线程写入文本框。线程 A 调用一个在线程 A 的上下文中运行 testFunc 的委托(delegate)。 testFunc 然后执行一
以下是我的通用基础存储库界面 public interface IRepository { IQueryable AllIncluding(params Expression>[] inclu
我在nUnit测试用例中使用Moq。 这是我的测试用例: IList coaDepartments = new List() { new ChartFi
我正在使用 C# SDK发布事件。我已经填写了基本事件参数,并使用 Graph API 资源管理器测试了这些参数。但是,当我调用 PostTaskAsync 时: var parameters = n
我错误地在 SharePoint 上发布了这个问题部分。 我需要将一个模型映射到另一个模型。一切正常,但最后一个属性抛出 TargetParameterCountException。抛出异常的属性称为
在我的单元测试项目中,我安装了 AutoFixture (v3.40.0)、NUnit (v2.6.4.) 和 AutoFixtrue.NUnit2(v3.39.0)。 我在其中一个虚拟测试用例上使用
我尝试使用带有多参数函数的 lambda,但是当我尝试调用 mock.Object.Convert(value, null, null, null);行。 System.Reflection.Targ
我是一名优秀的程序员,十分优秀!