public List <string> DoSomething() { List <string> strList = new List <string>(); if (Demo == null) { return(strList); } Delegate[] delArray = Demo.GetInvocationList(); foreach (Delegate del in delArray) { DemoEventHandler method = (DemoEventHandler)del; strList.Add(method(100)); } return(strList); }
public event DemoEventHandler NumberChanged; // 声明一个事件 public List <string> DoSomething() { // 做某些其他的事 List <string> strList = new List <string>(); if (NumberChanged == null) { return(strList); } // 获得委托数组 Delegate[] delArray = NumberChanged.GetInvocationList(); foreach (Delegate del in delArray) { // 进行一个向下转换 DemoEventHandler method = (DemoEventHandler)del; strList.Add(method(100)); // 调用方法并获取返回值 } return(strList); }