VisualStudioでWinFormを使用してプログラミングしているとき、Rx(Reactive Extension)ライブラリを使用する方法を説明します。
ライブラリのインストールは、NuGetを使って参照設定を行うのが最も簡単です。
Unityなど、ゲームエンジンからC# + Rxの組み合わせで開発したい場合も多いかと思いますが、最初からUnity上でUniRxを使って開発すると大変なので、まずはWinForm上で使い方を練習すると良いです。
それでは、作業手順です。
まず、プロジェクトを作成し、ソリューションエクスプローラの参照設定を右クリックします。
メニューにある、NuGetパッケージの管理をクリックします。
左のメニューでnuget.orgを選択し、検索欄に”rx linq”と入力します。
しばらく待つと結果が表示されるので、以下のものをインストールします。
作成者の欄がMicrosoftになっているはずです。
Reacive Extensions - Query Library user to express complex event prosessing queries over observable sequences. |

すると、依存ライブラリとしてRx-Interfaces, Rx-Coreも選択されるので、同意するをクリックします。

※実は、Rx-Core(Reacive Extensions – Core Library)だけでもRxは使えるのですが、C#でRxを使う場合は通常LinqのQuery Libaryも使うので纏めてインストールしています。
インストールが終わると、参照設定に下記の3つが入っていることを確認します。
System.Reactive.Core System.Reactive.Interfaces System.Reactive.Linq |

インストールが完了したら動作確認です。
今回は画面にボタンを置いて、イベントハンドラに動作確認コードを書いてみます。
サンプルコードは下記の1行だけです。
処理内容は、1~10のデータをイベントとして送信し、イベントハンドラでデバッグ出力を行っています。
private void button1_Click(object sender, EventArgs e) { System.Reactive.Linq.Observable.Range(1, 10).Subscribe(x => System.Diagnostics.Debug.WriteLine(x)); } |
プログラムを実行し、出力ウィンドウに1~10の数字が出ればOKです。

関連記事
コメントを残す