Это мой код:Получить асинхронный результат метода обратного вызова TCPClient.BeginConnect в
TcpClient _tcpClient = new TcpClient(AddressFamily.InterNetwork);
public void BeginConnect(string address, ushort port, OnConnectCallback cb) {
IAsyncResult ar = _tcpClient.BeginConnect(address, port, ConnectCallback, cb);
}
private void ConnectCallback(IAsyncResult ar) {
//The ar is acturally an instance of MultipleAddressConnectAsyncResult
//it contains the execution result I want.
//However, MultipleAddressConnectAsyncResult class is not public.
_tcpClient.EndConnect(ar);
}
Как вы знаете, IAsyncResult имеет несколько полезный метод. Я не могу получить детали результата выполнения. Когда я отлаживаю этот код, я нашел следующие вещи: Как я могу получить доступ к членам, не являющимся членами Сообщества?
Спасибо, но это не сработает. Я получил «Необработанное исключение типа« Исключение System.NullReferenceException »в исключении ...». И я не могу найти MultipleAddressConnectAsyncResult в любом месте. – guogangj
thats, потому что это частный класс в пространстве имен System.Nets .NET. поэтому мы можем получить тип во время выполнения. я изменил ответ. сообщите мне, если это сработает. –
Хорошо, это работает. – guogangj