質問

私は、アプリケーションを.Netの世界に移植するObjective-C開発者です。私のObj-Cアプリケーションでは、NSNotificationオブジェクトを使用して、少数のオブジェクト間で非同期に通信します。 .Netの世界で(特にC#言語を使用して)同様のことを行う方法はありますか?基本的なアプローチは、1つのオブジェクトが1つ以上のオブジェクトがリッスンするという通知を投稿することです。

おそらくこれを行う明白な方法がありますが、私はまだそれを見つけていません...

役に立ちましたか?

解決

C#またはVB.NETでデリゲートを使用することは、同等の言語統合機能です。定義済みのデリゲートを定義または使用して「通知」を定義することにより、イベントを作成できます。公開およびサブスクライブできます。次に、サブスクライブして発生させることができるクラスでイベントを定義します。 MSDNのドキュメントには、こちらが見つかると、概要がわかりやすくなります。良い例は、こちらです。

他のヒント

おそらく、NSNotificationをNSNotificationCenterで使用します。これは、 Event Aggregatorパターンの実装です。 Prismライブラリに実装

xcodeのNSNotificationを使用すると、投稿をリッスンするクラス内にNSNotificationオブジェクトを実装している限り、どのクラスでも受信できるメッセージを投稿できます。...オブザーバを宣言します;)

試してみることができる私の理論は... C#では、静的イベントを含む静的クラスを構築して、独自の通知センターを作成してみてください。次に、他のクラスで、イベントのインスタンスを作成します。これにより、XcodeのNSNotificationCenterと同じ動作を再現できます。

これも試しましたか? http://www.codeproject.com/Tips/438582/Csharp -NotificationCenter?msg = 4398005#xx4398005xx

タイプミスは申し訳ありません!電話での返信は厄介です!

Nuget Package Managerで NotificationCenter ライブラリを使用します。このライブラリは、Objective-CおよびSwift NSNotificationCenterのように機能します。登録されたオブザーバーへの情報のブロードキャストを可能にする通知ディスパッチメカニズム。

PM> Install-Package NotificationCenter

Github:

https://github.com/Husseinhj/NotificationCenter

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top