From 80e29f0c25414979ac3b728d5886b1a897d8a26e Mon Sep 17 00:00:00 2001 From: AnnulusGames Date: Sun, 11 Aug 2024 10:25:10 +0900 Subject: [PATCH] Add IReadOnlyObservableList interface --- src/ObservableCollections/IObservableCollection.cs | 5 +++++ src/ObservableCollections/ObservableList.Views.cs | 2 +- src/ObservableCollections/ObservableList.cs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ObservableCollections/IObservableCollection.cs b/src/ObservableCollections/IObservableCollection.cs index 1615f2c..28470cc 100644 --- a/src/ObservableCollections/IObservableCollection.cs +++ b/src/ObservableCollections/IObservableCollection.cs @@ -15,6 +15,11 @@ namespace ObservableCollections ISynchronizedView CreateView(Func transform, bool reverse = false); } + public interface IReadOnlyObservableList : + IReadOnlyList, IObservableCollection + { + } + public interface IReadOnlyObservableDictionary : IReadOnlyDictionary, IObservableCollection> { diff --git a/src/ObservableCollections/ObservableList.Views.cs b/src/ObservableCollections/ObservableList.Views.cs index ec89f9c..e358b9c 100644 --- a/src/ObservableCollections/ObservableList.Views.cs +++ b/src/ObservableCollections/ObservableList.Views.cs @@ -7,7 +7,7 @@ using System.Linq; namespace ObservableCollections { - public sealed partial class ObservableList : IList, IReadOnlyList, IObservableCollection + public sealed partial class ObservableList : IList, IReadOnlyObservableList { public ISynchronizedView CreateView(Func transform, bool reverse = false) { diff --git a/src/ObservableCollections/ObservableList.cs b/src/ObservableCollections/ObservableList.cs index 663356f..ff86ec0 100644 --- a/src/ObservableCollections/ObservableList.cs +++ b/src/ObservableCollections/ObservableList.cs @@ -7,7 +7,7 @@ using System.Runtime.InteropServices; namespace ObservableCollections { - public sealed partial class ObservableList : IList, IReadOnlyList, IObservableCollection + public sealed partial class ObservableList : IList, IReadOnlyObservableList { readonly List list; public object SyncRoot { get; } = new();