我有一个代码:
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关键字。”
我该如何解决这个问题? :)
答案 0 :(得分:0)
我该如何解决这个问题?
要么不调用您的方法Add
,要么不从List
继承。您可能会发现组合在这里比继承效果更好,因为客户可以将您的类视为普通List<T>
并绕过您的“新”{{1}方法。