🌟
.NET 6 対応の ReactiveProperty v8.0.0 をリリースしました
🎉.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
メソッドにコレクションの要素の変更タイミングをカスタマイズ出来るようにしました。デフォルトではINotifyPropertyChanged
のPropertyChanged
イベントの発生を監視しています。
// ネストしたプロパティを持つクラス
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
が発生することがある問題を修正しました。
Discussion