
Example Event
namespace MyNameSpace
{
class Program
{
private static event EventHandler? Metting;
private static MettingData _Data = new();
static void Main(string[] args)
{
EventRegister();
EventAction();
EventUnregister();
Console.ReadKey();
}
//Create Data
private static MettingData CreateData(string org,string metTitle, string metContent)
{
_Data.organizing_committee = org;
_Data.MettingSubjects = metTitle;
_Data.MettingContents = metContent;
return _Data;
}
//Event Registration
public static void EventRegister()
{
Metting += Program__Metting;
}
// Event Going On
public static void EventAction()
{
var data = CreateData("ABC Company","Year-End Meeting", "summarize work, staff assessment");
Metting?.Invoke(data.organizing_committee, data);
}
// Event Stop
public static void EventUnregister()
{
Metting -= Program__Metting;
}
private static void Program__Metting(object? sender, MettingData e)
{
Console.WriteLine("Meeting Start Now !");
Console.WriteLine("\nEvent organization company: {0}", (string?)sender);
Console.WriteLine("\nMeeting Subject: {0}\n", e.MettingSubjects);
for (int i = 1; i <= 10; i++)
{
Thread.Sleep(1000); // delay time for metting
Console.WriteLine("The meeting has been going on for {0} minute", i);
}
Console.WriteLine("\nContent of the meeting: {0}", e.MettingContents);
Console.WriteLine("\nEnd Meeting !");
}
}
internal class MettingData
{
public string? organizing_committee { get; set; }
public string? MettingSubjects { get; set; }
public string? MettingContents { get; set; }
}
}
Post a Comment