私は言語として C# をかなり初めて使用し (C++ のバックグラウンドから来ました)、現在、イベント駆動型 API を利用するアプリケーションを作成中です。
これは主に、イベント/応答ハンドラーを登録し、イベント モニターを開始してから、これらの非同期イベント/応答を処理することで構成されます。
私が理解するのに少し苦労しているのは、送信者オブジェクトの使用です。
私がそれを使用したいのは、要求を行う (またはモニターを設定する) ときに、さまざまな構造とデータを含むクラス オブジェクトにハンドルを渡すことです。そして、受信された応答/発生したイベントで、送信者オブジェクトを取得し、それを予想されるクラス型にキャストしてメンバーにアクセスし、さらに変更を加えるなどして、元のデータへのポインターであるかのように扱います。 (私はそれがそうであることを望んでいますか?)。
したがって、私の質問は、リクエストでクラスオブジェクトを渡しているので、これは実質的に参照になるのでしょうか、それとも実際には単なる汎用オブジェクトであるため、行のどこかに値によってコピーされるのでしょうか。イベントでのクラス オブジェクトの空のコピー?
または、ここで完全に間違った方向に進んでいる可能性があり、すべてを忘れる必要があるという3番目のオプションはありますか? :)
問題は、私の脳がまだポインター モードで動作していることだと思います...