Скажем, у меня есть следующий код:
public static Client Connect(string hostname, int port, bool useSsl)
{
TcpClient tcpClient = new TcpClient(hostname, port);
if (!useSsl)
{
return new Client(tcpClient.GetStream());
}
SslStream sslStream = new SslStream(tcpClient.GetStream());
sslStream.AuthenticateAsClient(hostname);
return new Client(sslStream);
}
Когда я компилирую это, анализ кода говорит мне, что я должен удалить tcpClient
до того, как ссылка выйдет за рамки. Проблема в том, что мне нужно дальше использовать базовый экземпляр потока, и я не могу распоряжаться здесь tcpClient
. В то же время я не хочу хранить где-то ссылку на tcpClient
, чтобы потом избавиться от нее, так как мне нужен только поток. Какое здесь правильное решение? Спасибо.
tcpClient
? - person Yahia   schedule 07.01.2012Client
. Однако классуClient
нужен экземплярStream
только в качестве параметра, и я хочу оставить его независимым от классаTcpClient
. - person eigenein   schedule 07.01.2012tcpClient
должен быть удален. - person eigenein   schedule 07.01.2012TcpClient
, в то время какClient
нужен толькоStream
? - person eigenein   schedule 07.01.2012