我有这样的:如何在.net中将父类转换为子类时遇到困难?
public class ClientSession : TcpClient
{
public int SessionGUID = 0;
}
在服务器线程
而且某处这样的:
ClientSession client = (ClientSession)tcpListener.AcceptTcpClient(); //cast failure
好吧,我明白,投像,右侧的对象必须是一个ClientSession的实例(也可能存储在指向基类的) 但是...在这种情况下如何构造ClientSession?
我不想做的ClientSession这样的:
public class ClientSession
{
public int SessionGUID = 0;
public TcpClient client;
}
这是不是我想要的,而且我知道,我不能投这样的,我把它写在主要的问题,我只是寻求一种方式以某种方式投它...因为你的答案是第一个,我接受它 – Kosmos
@Kosmos你不能,因为没有办法在运行时改变对象的类型。一旦你有了一个TcpClient,它就会保持一个,所以我看到的唯一解决方案是用TcpClient as字段构造一个ClientSession。 – Botz3000