列表触发事件错误

本文关键字:错误 事件 列表 | 更新日期: 2023-09-27 18:02:15

我有代码:

    public class _clientSockets<Socket> : List<Socket>
    {
        public event EventHandler OnAdd;
        public void Add(Socket s)
        {
            if (OnAdd != null)
                OnAdd(this, null);
            base.Add(s);
        }
    }

表示每个尝试连接到服务器的客户端都将存储在列表中。我试着用下面的代码来调用它:

     _clientSockets<Socket> s = new _clientSockets<Socket>();
     s.OnAdd += new EventHandler(clientAlerted);
     s.Add(socket);

但问题是得到一个错误类似:" MainWindow._clientSockets.Add(Socket) "隐藏继承的成员" System.Collections.generic.List.Add(Socket) "。如果要隐藏,请使用new关键字。"

我怎么解决这个问题?:)

列表触发事件错误

我该如何解决这个问题?

要么不调用你的方法Add,要么不继承List。您可能会发现组合在这里比继承工作得更好,因为客户端可以将您的类视为普通的List<T>而绕过您的"新"Add方法。