c# - 我们可以从同一个类中的公共静态方法调用事件吗?
问题描述
试图理解事件概念..
是否可以在下面的代码中从同一类中的静态函数调用公共事件?如果我使用程序类的实例,它会起作用。
我留下“这个”关键字,因为它在那里供您审查,因为我不知道发件人放什么对象。我已经检查了如何从同一类中的静态函数调用公共事件?但没有得到这个概念。
让我知道我是否可以尝试做什么以及如何做?
using System;
namespace CSharp_ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
loggingInProgramClass = OnLoggingEvent;
ShowLogging();
}
public static event DMethod_ShowCategory_ShowLogging_Event loggingInProgramClass;
public static void ShowLogging()
{
Console.WriteLine("Show Logging method executed...");
loggingInProgramClass(**this**, new EventArgs());
}
private static void OnLoggingEvent(**object sender**,EventArgs e)
{
Console.WriteLine("Event triggered...");
}
}
}
解决方案
您的问题是您没有sender
代表EventHandler
。快速的解决方案是直接传递null
,sender
或者您可以使用像Action<EventArgs>
代理这样的东西并且不需要发件人。
推荐阅读
- ios - 如何添加颜色模糊的图层边框?
- spring - Java 10 Spring Boot Infinispan org.jgroups.logging.Slf4jLogImpl 未找到
- ios - 我想在键盘显示时更改视图的框架
- python - 如何在 10 秒后强制一些用户输入
- typescript - 如何在服务人员内部使用 localstorage.setItem()?
- python - 通过正则表达式匹配将字符串拆分为单独的列表
- java - 无法在 Ubuntu 16.04(VMware Workstation14)中使用 Hadoop3.0.0 beta1 运行`sudo ./sbin/start-dfs.sh`
- javascript - React Highcharts 从本地状态更改所选列的边框颜色
- android - DeviceAdminReceiver:未调用 onChoosePrivateKeyAlias
- android - FileUtils 在 androidx 中无法访问