🌟

.NET 6 対応の ReactiveProperty v8.0.0 をリリースしました

2021/11/09に公開

🎉.NET 6.0 が 2021/11/08 にリリースされました🎉

.NET 6.0 RC2 対応として ReactiveProperty v8.0.0 をプレビュー版として公開していましたが、このたびリリースされた .NET 6.0 の正式版の SDK でリビルドしたものを v8.0.0 としてリリースしました。

v7.12.0 からの変更点は以下になります。

  • ToFilteredReadOnlyObservableCollection メソッドにコレクションの要素の変更タイミングをカスタマイズ出来るようにしました。デフォルトでは INotifyPropertyChangedPropertyChanged イベントの発生を監視しています。
// ネストしたプロパティを持つクラス
public class NestedPropertyObject : INotifyPropertyChanged
{
    // PropertyChanged イベントの実装は省略

    public string Id { get; } => Guid.NewGuid().ToString();
    // ネストしたプロパティ
    public ReactivePropertySlim<bool> NestedObject { get; } = new ReactivePropertySlim<bool>(true);
}

// ソースのコレクション
var sourceCollection = new ObservableCollection<NestedPropertyObject>
{
    new NestedPropertyObject(),
    new NestedPropertyObject(),
    new NestedPropertyObject(),
};

var filteredCollection = sourceCollection.ToFilteredReadOnlyObservableCollection(
    // フィルタリングの条件
    x => x.NestedObject.Value,
    // オブジェクトのステートが変わったことを表す IObservable を生成するファクトリ
    x => x.ObserveProperty(y => NestedObject.Value)
);
  • 'IFilteredReadOnlyObservableCollection' の元になるコレクションで Clear メソッドが呼ばれたときに ArgumentOutOfRangeException が発生することがある問題を修正しました。
Microsoft (有志)

Discussion