[英]How do I create event between two projects?
我創建了兩個項目( Proj_1
, Proj_2
), Proj_1
包含Proj_1_Program.cs
和ProjectOneClass.cs
, Proj_2
包含Proj_2_Program.cs
,並且我需要OnInformed
觸發器同時觸發Informed1
和Informed2
這就是我到目前為止的方法:
//Proj_1_Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CrossProjectEvent
{
class Proj_1_Program
{
static void Main(string[] args)
{
ProjectOneClass obj1 = new ProjectOneClass();
obj1.Inform += new EventHandler(Informed1);
obj1.InformNow();
Console.ReadLine();
}
private static void Informed1(object sender, EventArgs e)
{
Console.WriteLine("Informed1");
}
}
}
//ProjectOneClass.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CrossProjectEvent
{
public class ProjectOneClass
{
public event EventHandler Inform;
public void InformNow()
{
OnInformed(new EventArgs());
}
private void OnInformed(EventArgs eventArgs) // I want this method both trigger Informed1 and Informed2
{
if (Inform != null)
{
Inform(this, eventArgs);
}
}
}
}
//Proj_2_Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CrossProjectEvent;
namespace Proj_2
{
public class ProjectTwoClass
{
public ProjectOneClass obj_proj_1;
public ProjectTwoClass()
{
obj_proj_1 = new ProjectOneClass();
obj_proj_1.Inform += new EventHandler(Informed2);
}
private static void Informed2(object sender, EventArgs e)
{
Console.WriteLine("Informed2");
}
}
class Project2
{
static void Main(string[] args)
{
}
}
}
但是似乎只有Informed1
被觸發了,那么如何解決呢? 謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.