早上好。採取這種簡單的方案:我有一個NetClient
連接到遠程服務器,使用無效方法Connect()
;完成後,NetClient上升Connected
事件。使同步成爲無效的方法,上升事件,返回事件參數
我需要這個NetClient
換到無法管理這樣的異步邏輯另一呼叫者:這個調用者想要同步Connect()
方法,如果確定(爲簡單起見,不考慮連接錯誤現在)返回真。
的代碼如下所示:
public class Client
{
NetClient m_NetClient = new NetClient();
public void Connect(string ip, int port)
{
m_NetClient = new NetClient();
m_NetClient.Connected += _NetClient_Connected;
m_NetClient.Connect(ip, port);
}
private void _NetClient_Connected(object sender, EventArgs e)
{
//...
}
}
我能做些什麼,使這個邏輯同步?我需要在事件處理程序中創建一個新的線程,而不是使用類似Monitor類的東西? 有人可以給我他的opionin /代碼來實現這個目標嗎?
謝謝大家!
感謝您的迴應;我嘗試使用Monitor.Wait e Monitor.Pulse,在Connect()上創建新線程,並且它似乎很有用。 我也會嘗試你的解決方案,謝謝! Nando –