高手请进 如何让一个命名空间中的许多不相关类共享一个对象?而又不希望这个对象是静态的我现在想做一个EventManger,这个类里面包含多个事件,可以被多个类注册,可是如果事件定义为静态的,那么注册它的方法也要定义为静态的,所以不想这么干不知道有什么好的解决方案么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 to 我现在想做一个EventManger,这个类里面包含多个事件,可以被多个类注册,可是如果事件定义为静态的,那么注册它的方法也要定义为静态的,所以不想这么干事件?delegate?如果是的话,只要加上public哪儿都能用。 刚犯傻了,把成员写到Main里去了,说咱通不过哦这会搞定了 class Program { static void Main(string[] args) { TestClass t = new TestClass(); EventManager.Instance().Invoke(); } } public class TestClass { public void MsgHandle(EventArgs e) { Console.WriteLine("hello"); Console.Read(); } public TestClass() { EventManager.Instance().MsgEvent += new MsgHandler(MsgHandle); } } public delegate void MsgHandler(EventArgs e); public class EventManager { private static EventManager _stcManager = null; private EventManager() { } public static EventManager Instance() { if (_stcManager == null) { _stcManager = new EventManager(); } return _stcManager; } public event MsgHandler MsgEvent; public void Invoke() { if (MsgEvent != null) { MsgEvent(new EventArgs()); } } } 求一段能完全过滤掉HTML标记的C#方法 获取Excel表名 C#编译问题 expected class delegate enum interface or struct 各位看过来啊,面试题目共商 谁能给小弟一种或几种命名规范 Socket心跳包 谁能帮忙解决下(如何自己重写IEditableObject 接口) FileStream 的 Read方法是不是自动提升字节???? C#程序发布问题? (200分)我想把查询的数据结果从DATAGRID放入spreedsheet,请问怎么做? 在另一个窗体中关闭另一个窗体 请问如何让realplayer控件可以播放mms协议的流数据
delegate?
如果是的话,只要加上public哪儿都能用。
这会搞定了
{
static void Main(string[] args)
{
TestClass t = new TestClass();
EventManager.Instance().Invoke();
}
} public class TestClass
{
public void MsgHandle(EventArgs e)
{
Console.WriteLine("hello");
Console.Read();
}
public TestClass()
{
EventManager.Instance().MsgEvent += new MsgHandler(MsgHandle);
}
}
public delegate void MsgHandler(EventArgs e);
public class EventManager
{
private static EventManager _stcManager = null;
private EventManager()
{
}
public static EventManager Instance()
{
if (_stcManager == null)
{
_stcManager = new EventManager();
}
return _stcManager;
}
public event MsgHandler MsgEvent;
public void Invoke()
{
if (MsgEvent != null)
{
MsgEvent(new EventArgs());
}
}
}