我们可以在同一个类中从公共静态方法调用事件吗



试图理解事件概念。。

在下面的代码中,是否可以从同一类中的静态函数调用公共事件?如果我使用程序类的实例,它就会起作用。

我将保留">This"关键字,因为我不知道发件人要放什么对象。我已经检查了如何从同一类中的静态函数调用公共事件?但没有得到这个概念。

如果可能的话,请告诉我我想做什么以及如何做?

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...");
}
}
}

您的问题是EventHandler委托没有sender。快速的解决方案是将null作为sender传递,或者可以使用类似Action<EventArgs>的东西作为委托,而不需要发送方。

最新更新