3

次のコードがあります。

Observable.FromEvent<ModelEventArgs>(
        h => ValuesController.ModelAdded += h,
        h => ValuesController.ModelAdded -= h)
    .Subscribe(m => context.Connection.Broadcast(m));

Observable.FromEvent<ModelEventArgs>(
        h => ValuesController.ModelDeleted += h,
        h => ValuesController.ModelDeleted -= h)
    .Subscribe(m => context.Connection.Broadcast(m));

よりクリーンになるのは次のとおりです。

Observable.[SOMETHING](
        Observable.FromEvent<ModelEventArgs>(
                h => ValuesController.ModelAdded += h,
                h => ValuesController.ModelAdded -= h),
        Observable.FromEvent<ModelEventArgs>(
                h => ValuesController.ModelDeleted += h,
                h => ValuesController.ModelDeleted -= h))
    .Subscribe(m => context.Connection.Broadcast(m));

その [SOMETHING] が何である必要があるのか​​ 理解できないようです。ModelAdded が完了するのを待ちたくありません。イベントごとに両方に (m) を発行させたいだけです。

私に気楽に行ってください、私はRx初心者です

4

1 に答える 1

7

あなたが探していると思いますMerge

Observable.Merge(
        Observable.FromEvent<ModelEventArgs>(
                h => ValuesController.ModelAdded += h,
                h => ValuesController.ModelAdded -= h),
        Observable.FromEvent<ModelEventArgs>(
                h => ValuesController.ModelDeleted += h,
                h => ValuesController.ModelDeleted -= h))
    .Subscribe(m => context.Connection.Broadcast(m));
于 2012-10-24T03:55:54.730 に答える