列表触发事件错误

时间:2014-05-07 14:39:34

标签: c#

我有一个代码:

    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关键字。”

我该如何解决这个问题? :)

1 个答案:

答案 0 :(得分:0)

  

我该如何解决这个问题?

要么不调用您的方法Add,要么不从List继承。您可能会发现组合在这里比继承效果更好,因为客户可以将您的类视为普通List<T>并绕过您的“新”{{1}方法。