列表触发事件错误
本文关键字:错误 事件 列表 | 更新日期: 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
方法。