我可以将事件作为参数传递给函数吗?

时间:2015-09-15 20:12:12

标签: c#

是否可以在Application中传递类似构造函数参数的事件?

我有错误

  

事件'SocketIOClient.Client.Message'只能出现在+ =或 - =

的左侧
class Program
{
    static void Main(string[] args)
    {
        Data D = new Data();
        Application A = new Application(D.socket.Message);
    }
}
public class Data
{
    public Client socket;

    public Data()
    {
        socket = new Client("https://www.google.com.ua/");
    }
}
public class Application
{
    public Application(EventHandler<MessageEventArgs> Message)
    {
    }
}

1 个答案:

答案 0 :(得分:0)

是的,你可以。在下面的代码行中,D.socket.Message必须是与构造函数中定义的委托类型具有相同签名的方法或属性存根。

Application A = new Application(D.socket.Message);