![]() |
1
1
这实际上是因为C#
是
你的代码
你的代码
作为
Chris Taylor
指出,你得到
就像一种需要
|
![]() |
2
1
对RegisterLogger进行以下更改,声明
然后您的调用点在调用方法时还需要使用'ref'关键字,如下所示
|
![]() |
3
1
... 事件处理程序和传递它的方法在不同的类中。C#非常严格地处理事件,只允许事件出现的类执行除添加处理程序以外的任何操作(包括将它传递给函数或调用它)。 例如,它也不会编译(因为它在不同的类中):
至于不能以这种方式将事件处理程序传递给函数,我不确定。我猜事件就像值类型一样运行。通过ref传递它可以解决您的问题,不过:
|
![]() |
4
0
现在,如果您必须坚持在类外部公开委托,请不要将其定义为事件。然后可以将其视为任何其他字段或属性。 我修改了您的示例代码以说明:
|
![]() |
OREO · 如何在不实际单击复选框的情况下选中它 1 年前 |
![]() |
Dan · 在元素外部设置html点击处理程序点击后立即触发 1 年前 |
![]() |
Mero · Svelte在父事件调用上调用新的嵌套事件处理程序 1 年前 |
|
iorice · usercontrol dll中的组件事件 1 年前 |
![]() |
Awin · 点击事件功能不适用于Vue组件 2 年前 |
|
Kiwi · 将可共享的自定义数据添加到事件MS图形api 2 年前 |