我對C#作爲一種語言(來自C++背景)的合理新手而言,我目前正在編寫一個使用事件驅動API的應用程序。瞭解C#發件人對象的事件使用
主要包括註冊事件/響應處理程序和啓動事件監視器,然後處理這些異步事件/響應。
我有點麻煩理解的事情是使用sender對象。
我想使用它的目的是在提出請求(或設置監視器)時將句柄傳遞給一個類對象,並具有各種結構和數據。然後,在接收到的響應/事件被提出時,我可以將發送者對象,將其轉換回期望的類類型和訪問成員,進行進一步的更改等,以便將它視爲仍然是指向原始數據的指針(我希望這會是?)。
所以我的問題確實是,因爲我在我的請求中傳遞了一個類對象,它是實際上是一個引用,還是將它複製到值的某處,因爲它實際上只是一個通用對象,我會最終在事件上有一個空的我的類對象的副本?
還是第三種選擇,我可能完全在錯誤的軌道上,應該忘記整個事情? :)
問題是我的大腦仍處於指針模式,我認爲......
這是一件事我有點擔心,我可以看到,只要請求和響應去,我會得到我的對象引用回來。但是你說sender參數始終是生成事件的對象。這是絕對的嗎?或者它可以是別的東西(即使不推薦)。 因爲我使用的API允許我啓動一個監視器傳遞用戶對象,看起來我應該回到事件sender對象中,所以不是生成事件本身的對象。 顯然你不知道具體的實現,但是你認爲這可能嗎? – 2009-10-07 11:30:16
啊沒有真正認爲我知道它是什麼,這是發件人對象返回與啓動監視器本身的響應,而不是後來的事件引發。不管怎麼說,還是要謝謝你 :) – 2009-10-07 11:34:33