我需要一个类,它将具有TcpClient的所有内容以及几个额外的字段,因此我基于TcpClient创建了一个类:
public class MyClient: TcpClient
{
public string winUser;
public bool needHelp;
public bool needSignOff;
public MyClient() : base() {
this.needHelp = false;
this.needSignOff = false;
this.winUser = "empty";
}
}
现在,我需要将所有传入连接创建为此类的对象:
MyClient clientConnection = (MyClient)this.helpServer.AcceptTcpClient();
问题是,AcceptTcpClient()生成一个TcpClient类对象,当我尝试连接到服务器时,我不断收到此异常:
listenServer():无法将类型为“ System.Net.Sockets.TcpClient”的对象转换为类型为“ Server.MyClient”。
如何将AcceptTcpClient()给我的TcpClient对象转换为MyClient对象?
最佳答案
无法将类型(TcpClient
)下转换为更多派生类型(MyClient
)。您必须更新AcceptTcpClient
以返回MyClient
对象。
关于c# - AcceptTcpClient()和基于TcpClient的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8251860/